欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

iOS中鍵盤 KeyBoard 上添加工具欄的方法

 更新時間:2017年08月10日 10:47:18   作者:鴻鵠當(dāng)高遠(yuǎn)  
大iOS中 鍵盤 KeyBoard 上怎么添加工具欄呢?大致思路是提前創(chuàng)建好工具欄,在鍵盤彈出的時候?qū)⒐ぞ邫陲@示出來,在鍵盤消失的時候讓工具欄隱藏。具體實現(xiàn)代碼大家參考下本文吧

 iOS中 鍵盤 KeyBoard 上怎么添加工具欄?

如圖中所示 在鍵盤上面加一條工具欄

大致思路是提前創(chuàng)建好工具欄,在鍵盤彈出的時候?qū)⒐ぞ邫陲@示出來,在鍵盤消失的時候讓工具欄隱藏

上代碼

設(shè)置兩個變量

UIView * _toolView; //工具欄 
UITextField *textField;// 輸入框 呼出鍵盤用 

創(chuàng)建工具欄 輸入框 添加鍵盤彈出 消失的通知

- (void)viewDidLoad { 
 [super viewDidLoad]; 
 // Do any additional setup after loading the view, typically from a nib. 
 textField = [[UITextField alloc]initWithFrame:CGRectMake(10, 64, 120, 60)]; 
 textField.placeholder = @"測試"; 
 [self.view addSubview:textField]; 
 //增加監(jiān)聽,當(dāng)鍵盤出現(xiàn)或改變時收出消息 
 [[NSNotificationCenter defaultCenter] addObserver:self 
            selector:@selector(keyboardWillShow:) 
             name:UIKeyboardWillShowNotification 
            object:nil]; 
 //增加監(jiān)聽,當(dāng)鍵退出時收出消息 
 [[NSNotificationCenter defaultCenter] addObserver:self 
            selector:@selector(keyboardWillHide:) 
             name:UIKeyboardWillHideNotification object:nil]; 
 //初始化工具欄 
 _toolView = [[UIView alloc]init]; 
 _toolView.frame = CGRectMake(0, screen_Height, screen_Width, 50); 
 [self.view addSubview:_toolView]; 
 UIButton *losebtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
 losebtn.frame = CGRectMake(20, 0, 50, 50); 
 [losebtn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside]; 
 [losebtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
 [losebtn setTitle:@"收起" forState:UIControlStateNormal]; 
 [_toolView addSubview:losebtn]; 
 UIButton *imageBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
 [imageBtn setTitle:@"圖片" forState:UIControlStateNormal]; 
 imageBtn.frame = CGRectMake(screen_Width-100, 0, 50, 50); 
 [imageBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
 [imageBtn addTarget:self action:@selector(imageBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
 [_toolView addSubview:imageBtn]; 
 UIButton *cameraBtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
 [cameraBtn setTitle:@"相機(jī)" forState:UIControlStateNormal]; 
 cameraBtn.frame = CGRectMake(screen_Width-50, 0, 50, 50); 
 [cameraBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
 [cameraBtn addTarget:self action:@selector(cameraBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
 [_toolView addSubview:cameraBtn]; 
 UIButton *canclebtn = [UIButton buttonWithType:UIButtonTypeCustom]; 
 [canclebtn setTitle:@"取消" forState:UIControlStateNormal]; 
 canclebtn.frame = CGRectMake(screen_Width-150, 0, 50, 50); 
 [canclebtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal]; 
 [canclebtn addTarget:self action:@selector(canclebtnBtnClick) forControlEvents:UIControlEventTouchUpInside]; 
 [_toolView addSubview:canclebtn]; 
} 

實現(xiàn)鍵盤通知的方法

#pragma mark 當(dāng)鍵盤出現(xiàn)或改變時調(diào)用 
- (void)keyboardWillShow:(NSNotification *)aNotification 
{ 
 //鍵盤彈出時顯示工具欄 
 //獲取鍵盤的高度 
 NSDictionary *userInfo = [aNotification userInfo]; 
 NSValue *aValue = [userInfo objectForKey:UIKeyboardFrameEndUserInfoKey]; 
 CGRect keyboardRect = [aValue CGRectValue]; 
 float keyBoardHeight = keyboardRect.size.height; 
 // NSLog(@"%ld",(long)keyBoardHeight); 
 [UIView animateWithDuration:0.1 animations:^{ 
  _toolView.frame = CGRectMake(0, screen_Height-keyBoardHeight-50, screen_Width, 50); 
 }]; 
} 
#pragma mark 當(dāng)鍵退出時調(diào)用 
- (void)keyboardWillHide:(NSNotification *)aNotification 
{ 
 //鍵盤消失時 隱藏工具欄 
 [UIView animateWithDuration:0.1 animations:^{ 
  _toolView.frame = CGRectMake(0, screen_Height+50, screen_Width, 50); 
 }]; 
} 

給工具欄上的各個按鈕實現(xiàn)點擊事件

- (void)btnClick{ 
 [textField resignFirstResponder]; 
} 
- (void)imageBtnClick{ 
} 
- (void)cameraBtnClick{ 
} 
- (void)canclebtnBtnClick{ 
} 

PS:下面看下iOS 鍵盤上方增加工具欄的代碼。

具體代碼如下所示:

UIToolbar *keyboardDoneButtonView = [[UIToolbar alloc] init];
[keyboardDoneButtonView sizeToFit];
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
                style:UIBarButtonItemStyleBordered target:self
                action:@selector(doneClicked:)];
[keyboardDoneButtonView setItems:[NSArray arrayWithObjects:doneButton, nil]];
txtField.inputAccessoryView = keyboardDoneButtonView;

相關(guān)文章

最新評論