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

如圖中所示 在鍵盤上面加一條工具欄
大致思路是提前創(chuàng)建好工具欄,在鍵盤彈出的時(shí)候?qū)⒐ぞ邫陲@示出來(lái),在鍵盤消失的時(shí)候讓工具欄隱藏
上代碼
設(shè)置兩個(gè)變量
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 = @"測(cè)試";
[self.view addSubview:textField];
//增加監(jiān)聽(tīng),當(dāng)鍵盤出現(xiàn)或改變時(shí)收出消息
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
//增加監(jiān)聽(tīng),當(dāng)鍵退出時(shí)收出消息
[[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];
}
實(shí)現(xiàn)鍵盤通知的方法
#pragma mark 當(dāng)鍵盤出現(xiàn)或改變時(shí)調(diào)用
- (void)keyboardWillShow:(NSNotification *)aNotification
{
//鍵盤彈出時(shí)顯示工具欄
//獲取鍵盤的高度
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)鍵退出時(shí)調(diào)用
- (void)keyboardWillHide:(NSNotification *)aNotification
{
//鍵盤消失時(shí) 隱藏工具欄
[UIView animateWithDuration:0.1 animations:^{
_toolView.frame = CGRectMake(0, screen_Height+50, screen_Width, 50);
}];
}
給工具欄上的各個(gè)按鈕實(shí)現(xiàn)點(diǎ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;
- iOS應(yīng)用開(kāi)發(fā)中監(jiān)聽(tīng)鍵盤事件的代碼實(shí)例小結(jié)
- iOS中的UIKeyboard鍵盤視圖使用方法小結(jié)
- iOS實(shí)現(xiàn)輸入框跟隨鍵盤自動(dòng)上移的實(shí)例代碼
- iOS項(xiàng)目開(kāi)發(fā)鍵盤彈出遮擋輸入框問(wèn)題解決方案
- h5 ios輸入框和鍵盤的兼容性優(yōu)化指南
- iOS開(kāi)發(fā)第三方鍵盤處理實(shí)例代碼
- iOS自定義鍵盤切換效果
- IOS數(shù)字鍵盤左下角添加完成按鈕的實(shí)現(xiàn)方法
- iOS中只讓textField使用鍵盤通知的實(shí)例代碼
- iOS自定義身份證鍵盤
相關(guān)文章
iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條
這篇文章主要為大家詳細(xì)介紹了iOS實(shí)現(xiàn)帶動(dòng)畫的環(huán)形進(jìn)度條,同時(shí)帶數(shù)字同步效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
iOS tableView多輸入框如何獲取數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于iOS tableView多輸入框如何獲取數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
iOS使用UIBezierPath實(shí)現(xiàn)ProgressView
這篇文章主要為大家詳細(xì)介紹了iOS使用UIBezierPath實(shí)現(xiàn)ProgressView,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04
教你如何解決XCODE升級(jí)后插件不能用問(wèn)題
Xcode 每次更新有個(gè)很頭疼的問(wèn)題,就是插件都會(huì)失效,要重裝。 不得不說(shuō)好多插件還是非常方便能提高效率。那么如何來(lái)解決這個(gè)問(wèn)題呢,今天我們就來(lái)探討下。2015-11-11
iOS AVPlayer切換播放源實(shí)現(xiàn)連續(xù)播放和全屏切換的方法
這篇文章主要給大家介紹了關(guān)于iOS中AVPlayer切換播放源實(shí)現(xiàn)連續(xù)播放和全屏切換的方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-05-05
舉例詳解iOS開(kāi)發(fā)過(guò)程中的沙盒機(jī)制與文件
這篇文章主要介紹了舉例詳解iOS開(kāi)發(fā)過(guò)程中的沙盒機(jī)制與文件,示例代碼為傳統(tǒng)的Obejective-C,需要的朋友可以參考下2015-09-09
分享一個(gè)iOS下實(shí)現(xiàn)基本繪畫板功能的簡(jiǎn)單方法
這篇文章主要介紹了iOS下實(shí)現(xiàn)基本繪畫板功能的簡(jiǎn)單方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-10-10

