国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

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

2020-07-26 02:44:11
字體:
來源:轉載
供稿:網友

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

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

大致思路是提前創建好工具欄,在鍵盤彈出的時候將工具欄顯示出來,在鍵盤消失的時候讓工具欄隱藏

上代碼

設置兩個變量

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

創建工具欄 輸入框 添加鍵盤彈出 消失的通知

- (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];  //增加監聽,當鍵盤出現或改變時收出消息  [[NSNotificationCenter defaultCenter] addObserver:self             selector:@selector(keyboardWillShow:)              name:UIKeyboardWillShowNotification             object:nil];  //增加監聽,當鍵退出時收出消息  [[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:@"相機" 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]; } 

實現鍵盤通知的方法

#pragma mark 當鍵盤出現或改變時調用 - (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 當鍵退出時調用 - (void)keyboardWillHide:(NSNotification *)aNotification {  //鍵盤消失時 隱藏工具欄  [UIView animateWithDuration:0.1 animations:^{   _toolView.frame = CGRectMake(0, screen_Height+50, screen_Width, 50);  }]; } 

給工具欄上的各個按鈕實現點擊事件

- (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;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浪卡子县| 湖州市| 新巴尔虎右旗| 横山县| 河间市| 乌兰察布市| 当涂县| 大渡口区| 鱼台县| 通江县| 萝北县| 岢岚县| 乐东| 云梦县| 紫云| 灌南县| 蓝田县| 鹿泉市| 抚远县| 额尔古纳市| 周至县| 保靖县| 玉环县| 黑龙江省| 绥滨县| 承德市| 江达县| 祁门县| 渭南市| 台中市| 永吉县| 阜城县| 大石桥市| 华安县| 宜丰县| 浮山县| 云霄县| 雷山县| 基隆市| 敦化市| 大悟县|