1. 程式人生 > >設定底部輸入框隨鍵盤的移動而移動

設定底部輸入框隨鍵盤的移動而移動

xib:一個tableview和一個view ,並設定一些約束,輸入框的底部緊貼著整個view的底部


下邊的輸入框需要設定為隨鍵盤的移動而移動

一 .將底部約束拖到對應的.m檔案中


二 .在適當的位置(如:viewDidLoad)註冊通知

// 註冊通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
三 .並加入以下程式碼:
- (void)keyboardWillChangeFrame:(NSNotification *)note
{
    // 鍵盤顯示\隱藏完畢的frame
    CGRect frame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
    // 修改底部約束
    self.bottomSpace.constant = [UIScreen mainScreen].bounds.size.height - frame.origin.y; // 螢幕的高度 - 鍵盤的Y值
    // 動畫時間
    CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
    // 動畫
    [UIView animateWithDuration:duration animations:^{
        [self.view layoutIfNeeded]; // 自動佈局的view改變約束後,需要強制佈局
    }];
}

- (void)dealloc
{
    // 移除通知
    [[NSNotificationCenter defaultCenter] removeObserver:self];
}

現在,底部輸入框就會隨鍵盤的移動而移動了


設定當tableView拖拽時退出鍵盤

一 .設定tableView的delegate為對應的控制器


二 .遵守協議:

@interface LXFCommentViewController () <UITableViewDelegate>
三 .實現程式碼方法:
#pragma mark - <UITableViewDelegate>
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView
{
    [self.view endEditing:YES];
}


相關推薦

設定底部輸入鍵盤移動移動

xib:一個tableview和一個view ,並設定一些約束,輸入框的底部緊貼著整個view的底部 下邊的輸入框需要設定為隨鍵盤的移動而移動 一 .將底部約束拖到對應的.m檔案中 二 .在適當的位置(如:viewDidLoad)註冊通知 // 註冊通知 [

iOS UITextField輸入鍵盤彈出介面上移

//點選輸入框介面跟隨鍵盤上移 - (void)textFieldDidBeginEditing:(UITextField *)textField { CGRect frame = textF

iOS 輸入鍵盤上移以及點選tableView回收鍵盤

//註冊通知 -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; //鍵盤出現 [[NSNotificationCenter defaultCen

iOS完美實現輸入鍵盤無縫滑動的效果_KLCPopKeyBoard

iOS中UITextField控制元件和UITextView控制元件經常需要對鍵盤做彈起和退出動作,一般使用的是becomeFirstResponder和resignFirstResponder方法,但是這樣也有明顯的缺點,就是會在鍵盤的彈起退出過程中經常出現黑邊,或者斷

移動端安卓系統中,固定在底部的按鈕被輸入鍵盤頂上去的問題解決辦法

處理問題的思路:         監控螢幕大小的變化,當螢幕變小的時候讓按鈕隱藏起來,當螢幕大小與當前螢幕保持一致的時候,讓按鈕正常顯示。  解決辦法有2種: 1、原生辦法 (推薦) var h = document.body.scrollHeight; wi

移動端頁面input輸入鍵盤遮擋問題

abs 無法 gin 區域 失效 -1 osi mit main <body class="layout-fixed"> <!-- fixed定位的頭部 --> <header> </he

解決ios軟鍵盤彈起遮蓋住底部輸入的問題(終極解決方案!!!絕對好用)

html <div class="layout_flex">         <!-- 頭部 -->         <div class="header">header</

專案總結(關於fixed/absolute固定的底部按鈕被input輸入鍵盤頂上去的問題一般安卓手機會出現這種問題)

解決方法:監控螢幕大小的變化,當螢幕變小的時候讓按鈕隱藏起來,當螢幕大小與當前螢幕保持一致的時候,讓按鈕正常顯示。 原生js解決方法: var h = document.body.scrollHeight; window.onresize = fu

強制隱藏輸入鍵盤

pre ram location eve ould eight param else ldh //把下列代碼放入BaseActivity中即可 /** * 判斷是否需要隱藏軟鍵盤 * @param v * @param event * @return */priv

設定密碼輸入不能複製貼上剪下

<input name="pwd" type="password" id="pwd" onpaste="return false" oncontextmenu="return false" oncopy="return false" oncut="return false"/>

flutter 底部輸入 聊天輸入 Flexible

想在頁面底部放個輸入框,結果鍵盤一直遮住了,原來是佈局問題   Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("評論"),

設定密碼輸入明文和密文切換

1.笨方法是設定標誌位或者根據isSelected屬性、isChecked屬性什麼的來改變。 2.我想的是,既然xml中有android:inputType這個屬性,那麼程式碼中直接用getInputType()方法得到它的輸入型別,然後和它的各種屬性比較不就能判斷嘛,於是

js頭部設定瀏覽器字型大小視窗大小改變

<script> /* 長寬佔位 rem演算法, 根據root的rem來計算各元素相對rem, 預設html 320/20 = 16px */ /* 長寬佔位 rem演算法, 根據root的rem來計算各元素相對rem, 預設html 320/20 =

WPF子窗體父窗體移動移動

主窗體 /// <summary> /// 選單-關於 /// </summary> /// <param name="sender"></param&

橫屏EditText不需要額外的輸入,軟鍵盤判斷

不彈出額外的輸入框 在edittext輸入的時候,因為是橫屏模式,額外彈出的輸入框導致頁面看著特別醜… 解決辦法: 在editText xml屬性加一條 android:imeOptions

google等webkit瀏覽器下,設定input輸入自動(選擇)填充的字型顏色

場景:讓input的字型為白色、背景色為#40a6f5、去除預設的邊界、陰影 input:-webkit-autofill,select:-webkit-autofill { -webk

關於設定html輸入的款式方面

** 關於設定html輸入框的款式方面 ** 之前我們學習小組寫一個web網路考試系統,我理所應當的被分到網頁登入介面和考試介面的設計。 這是我寫到一半的程式碼 <div class="in"> <input type="tex

前端工程師工作中常見問題解決辦法(ios底部輸入,a中download,ie11...)

window.open() 在 ajax 回撥中被阻止 由於安全限制,開啟新標籤的操作需由使用者直接觸發,使用程式觸發預設情況下會被阻止,因此把 winodw.open() 的程式碼放在事件處理函式中即可解決此問題。  固定在底部的輸入框,在 IOS 裝置上顯示的問題

ios-設定UISearchBar輸入的顏色等屬性

我們其實都知道UISearchBar是UITextFiled和UISegmentedControl的組合和擴充套件,我們如果需要修改我們搜尋欄裡面的文字框的顏色,我們應該怎麼修改呢,我們要修改搜尋欄的

Android中EditText的setInputType()方法設定輸入型別&&設定密碼輸入密碼不可見

在Android開發過程中,經常使用到EditText控制元件,有時需要在程式碼裡動態設定輸入型別,設定EditText輸入型別主要有兩種方法,一種是使用EditText的setInputType()方法,另一種是在佈局檔案中使用android:inputTyp