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

首頁 > 網站 > 建站經驗 > 正文

iOS虛!擬鍵盤上添加動態隱藏按鈕

2019-11-02 14:50:04
字體:
來源:轉載
供稿:網友

  想在鍵盤上添加一個按鈕,實時根據鍵盤不同高度變換按鈕位置,再不做輸入的時候點擊按鈕能夠隱藏鍵盤,這種方式在很多軟件上都有體現,然后在網上查閱了關于檢測鍵盤高度一些相關知識,以下是一個Demo,代碼有很多需要優化地方,僅供需要者參考;

  先看效果:

iOS虛擬鍵盤上添加動態隱藏按鈕 電腦高手

  首先是我們在ViewDidLoada()中注冊了兩個通知,[NSNotificationCenterdefaultCenter],檢測鍵盤動態,一個是鍵盤將要彈出的時候,另一個是鍵盤將要退出時候鍵盤的信息

  - (void)viewDidLoad

  {

  NSLog(@"%@",NSStringFromSelector(_cmd));

  [super viewDidLoad];

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleKeyboardDidShow:) name:UIKeyboardWillShowNotification object:nil];

  [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleKeyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];

  }

  檢測鍵盤消息一個六種,根據字面意思差不多都能說明函數作用

  UIKeyboardWillShowNotification 通知將要發布時候顯示鍵盤

  UIKeyboardDidShowNotification  通知發布后立即顯示鍵盤

  UIKeyboardWillHideNotification 通知發布前撤銷鍵盤

  UIKeyboardDidHideNotification 通知發布后撤銷鍵盤

  UIKeyboardWillChangeFrameNotification 通知發布前迅速變化的框架的鍵盤。

  UIKeyboardDidChangeFrameNotification 通知發布后立即改變在鍵盤的框架。

  NSLog(@"%@",NSStringFromSelector(_cmd));是我特意加上去的,它能在控制臺顯示打印出當前程序所調用的函數,我在下面每個函數都加了這一句,當我進行不同操作的時候,打印出被調用函數名,在調試程序時候比較適用吧;

  注冊消息通知后,實現通知所響應的方法

  - (void)handleKeyboardDidShow:(NSNotification *)notification

  {

  NSLog(@"%@",NSStringFromSelector(_cmd));

  NSDictionary *info = [notification userInfo];

  CGRect keyboardFrame;

  [[info objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardFrame];

  CGSize kbSize = [[info objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;

  CGFloat distanceToMove = kbSize.height;

  NSLog(@"---->動態鍵盤高度:%f",distanceToMove);

  if (exitButton == nil) {

  exitButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

  CGRect exitBtFrame = CGRectMake(self.view.frame.size.width-40, self.view.frame.size.height - distanceToMove, 40.0f, 30.0f);

  exitButton.frame = exitBtFrame;

  [exitButton setImage:[UIImage imageNamed:@"DoneDown.png"] forState:UIControlStateNormal];

  [self.view addSubview:exitButton];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 淅川县| 吉隆县| 安岳县| 融水| 敦化市| 巴中市| 永济市| 景宁| 乌恰县| 张家界市| 曲靖市| 怀集县| 商南县| 绥宁县| 永定县| 临安市| 伊金霍洛旗| 岱山县| 南通市| 玉林市| 邓州市| 绥芬河市| 武宁县| 平阴县| 西平县| 承德县| 嘉禾县| 禄丰县| 中西区| 万全县| 积石山| 分宜县| 巴楚县| 弥渡县| 克东县| 南乐县| 台中市| 通许县| 西乌珠穆沁旗| 新丰县| 双城市|