iOS之取消鍵盤遮擋

2022-07-30 19:06:11 字數 1515 閱讀 6544

裝逼模式開啟—>用uitextfielddelegate**來解決

鍵盤遮擋最常見的可能就是在登入介面了,無論有多少個textfiled,不論是在vc的任何位置。都有可能造成鍵盤撥出來時,遮擋輸入框。

如圖1firstvideo.gif

兩個textfield在vc的下部如何讓鍵盤撥出的時候剛好在你點選textfiled的下面呢?

裝逼模式**開始!!!

首先要寫上uitextfielddelegate**協議,,,切記!!!

1:新增文字輸入框

申明兩個屬性

@property (nonatomic, weak) uitextfield * usernametext;

@property (nonatomic, weak) uitextfield * userpwdtext;

uitextfield * usernametext = [autolayoutview autolayouttextfieldwithplaceholder:@"賬號"];

usernametext.delegate = self;

[self.view addsubview:usernametext];

self.usernametext = usernametext;

uitextfield * userpwdtext = [autolayoutview autolayouttextfieldwithplaceholder:@"密碼"];

userpwdtext.delegate = self;

[self.view addsubview:userpwdtext];

self.userpwdtext = userpwdtext;

2:實現**方法

此處主要解決

// 當前點選textfield的座標的y值 + 當前點選textfiled的高度 - (螢幕高度- 鍵盤高度 - 鍵盤上tabbar高度)

// 在這一部 就是了乙個 當前textfile的的最大y值 和 鍵盤的最全高度的差值,用來計算整個view的偏移量

- (void)textfielddidbeginediting:(uitextfield *)textfield

[uiview commitanimations];

}

3:點選空白處的時候讓其回到原來位置

/**

* textfield 取消選中狀態**/

-(void)touchesbegan:(nsset *)touches withevent:(uievent *)event

還有點選鍵盤的return鍵的時候恢復原狀就要在

- (bool)textfieldshouldreturn:(uitextfield *)textfield;裡頭處理。
切記一定要判斷當前的textile是否是你點選的self.usernametext

ios 鍵盤遮擋

做ios開發時,難免會遇到輸入框被鍵盤遮掩的問題。上網上搜尋了很多相關的解決方案,看了很多,但是由衷的覺得太麻煩了。有的解決方案是將檢視上的所有的東西都新增到乙個滾動檢視物件 uiscrollview 中,然後滾動檢視實現輸入框不被軟鍵盤覆蓋,個人覺得此方案好是好,但是太過麻煩。有的解決方案是通過乙...

IOS 鍵盤遮擋處理

1 textfield frame 根據textfield編輯狀態,動畫改變textfield frame 或用kvo監控鍵盤顯示及隱藏來改變textfield frame 2 新增到scrollview 根據textfield編輯狀態,改變scrollview contentoffset 用kvo...

iOS鍵盤遮擋解決方案

ios中鍵盤遮擋問題很常見,網上有很多解決方案,現在要說的這種也是其中一種。很多的解決方案很侷限,沒考慮適配等問題。首先監聽以下兩個通知,系統會負責傳送通知,當然你自己也可以傳送。監聽鍵盤的即將顯示事件.uikeyboardwillshownotification nsnotificationcen...