国产探花免费观看_亚洲丰满少妇自慰呻吟_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];

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 威远县| 饶河县| 东乌| 宜阳县| 景谷| 读书| 驻马店市| 安平县| 琼中| 和田市| 巴彦县| 钦州市| 夏河县| 桐柏县| 万荣县| 荆门市| 海兴县| 民权县| 静安区| 灵石县| 民丰县| 宁化县| 宽甸| 绥芬河市| 大足县| 乌兰察布市| 福建省| 吴旗县| 南和县| 汝南县| 亚东县| 安泽县| 许昌市| 合山市| 长顺县| 汕头市| 和林格尔县| 青海省| 高安市| 广南县| 万宁市|