iOS开发-自动隐藏键盘及状态栏

1.隐藏状态栏

iOS升级至7.0以后,很多API被废止,其中原有隐藏状态栏StatusBar的方法就失效了。

原有方案

[[UIApplication sharedApplication] setStatusBarHidden:YES];

但很不幸,在后来的版本中实效了,因此我们可以使用新的API来实现隐藏状态的栏的目的,如下:

-(BOOL)prefersStatusBarHidden
{
    return YES;
}

2.自动隐藏键盘并自动布局

这里提供的解决方案适用于任何类型的键盘,主要是考虑到NumberPad没有return键。

同时也是基于ScrollerView进行布局的方案,使用ScrollerView自带的动画效果。

代码如下:

@implementation TestViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [_scrollView addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(hideKeyboard)]];
}
-(void)textFieldDidBeginEditing:(UITextField *)textField{
    //键盘高度为216
    [_scrollView setFrame:CGRectMake(0, 0, _scrollView.frame.size.width, _scrollView.frame.size.height+216)];
    [_scrollView setContentOffset:CGPointMake(0, 100) animated:YES];
    [_scrollView setTag:0];

}
-(void) hideKeyboard{
    if(_scrollView.tag==0){
        [_scrollView setContentOffset:CGPointMake(0, 0) animated:YES];
        [_scrollView setFrame:CGRectMake(0, 0, _scrollView.frame.size.width, _scrollView.frame.size.height-216)];
        [self.view endEditing:YES];
        [_scrollView setTag:1];
    }
}
}
}

时间: 2024-12-17 02:26:56

iOS开发-自动隐藏键盘及状态栏的相关文章

[菜鸟成长记]iOS开发自学笔记07-UITextField自动隐藏键盘

点击UITextField输入框后,软键盘默认情况下在结束输入后不会自动隐藏,目前总结了两种可以自动隐藏软键盘的方法: 第一种:通过响应UITextField对象的Did End On Exit事件,当点击默认软键盘的"Done"按钮或"Return"按钮会触发Did End On Exit 事件,通过编码实现来响应Did End On Exit事件来实现自动隐藏键盘 - (IBAction)TextFieldDidEndOnExit:(id)sender { [t

iOS 开发之 - 关闭键盘 退出键盘 的5种方式

iOS 开发之 - 关闭键盘 退出键盘 的5种方式 1.点击编辑区以外的地方(UIView) 2.点击编辑区域以外的地方(UIControl) 3.使用制作收起键盘的按钮 4.使用判断输入字元 5.关于键盘遮蔽的问题 1,点击编辑区以外的地方(UIView) 这是一种很直觉的方法,当不再需要使用虚拟键盘时,只要点击虚拟键盘和编辑区域外的地方,就可以将键盘收起,下面程式码是在 UIView 中内建的触碰事件方法函式,您可以参考 Touch Panel / 触碰萤幕 / 压力感应器的基本使用方式一文

iOS开发- 自动消失的弹出框

- (void)timerFireMethod:(NSTimer*)theTimer//弹出框 { UIAlertView *promptAlert = (UIAlertView*)[theTimer userInfo]; [promptAlert dismissWithClickedButtonIndex:0 animated:NO]; promptAlert =NULL; } - (void)showAlert:(NSString *) _message{//时间 UIAlertView *

iOS开发之软键盘使用小技巧

在iOS开发过程中,有时候需要弹出软键盘进行输入,有时候又需要在某些情况下隐藏软键盘,以提高用户体验.今天有几个关于软键盘的小技巧和大家分享. (1)只弹出数字键盘 有某些需求中,要求用户只能在Text Field中只能输入数字,这需要怎么做呢?可以写一个正则表达式用于判断用户输入:或者进行字符匹配等等.但是这都要写代码.程序员都是爱偷懒的.在iOS中可以通过简单设置,使弹出为数字键盘,这样用户输入就只能为数字了. 选中某个Text Field.选择右侧的Show the Attributes

IOS学习:隐藏键盘方法

1.点击界面的其它空白地方隐藏 由于UIViewController是继承自UIResponder的,所以可以覆写- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;这个开始触摸的方法来取消第一响应者,代码如下: [cpp] view plaincopy // 点击编辑框外面时,隐藏键盘 - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

iOS 开发操作当前控制器的状态栏

/// 返回当前控制器中状态栏的样式. - (UIStatusBarStyle)preferredStatusBarStyle { return UIStatusBarStyleLightContent; } /// 隐藏当前控制器的状态栏 - (BOOL)prefersStatusBarHidden { return YES; } 注意:这两个方法只能写在当前控制器类里面.

iOS开发——实用篇Swift篇&状态栏操作

状态栏操作 在Swift开发过程中,针对状态栏操作的过程有很多. 1.在ViewController中操作当前ViewController的状态栏 [objc] view plaincopy /** 隐藏状态栏 */ override func prefersStatusBarHidden() -> Bool { return true; } /** 设置状态栏风格 */ override func preferredStatusBarStyle() -> UIStatusBarStyle {

蓝懿 iOS IOS开发自动旋转控制代码

因为旋转会使得界面变得不和谐,除非你已经开发了专门针对各种方向的界面,所以有时候还是禁用旋转比较好,或者程序中的某个界面是横屏的,退出这个横屏视图之后界面又变成竖屏的,比如看视频或者浏览网页的时候你希望是横屏的,但是其他的工作你希望是竖屏的.OK,这一切都不是问题.我们可以通过代码来控制我们程序中每个界面的旋转功能. 在你想要设置的视图控制器里找到 shouldAutorotateToInterfaceOrientation: 方法,重写它的实现代码: [java] - (BOOL)should

iOS开发TextField根据键盘自适应位置

- (void)setNotification { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil]; } - (void)closeNotification { [[NSNotificationCenter defaultCenter]