專案總結二:解決鍵盤覆蓋tableview的問題
一、textfield 鍵盤監聽
1、textfiled設定代理
2、設定監聽,新增通知
-(void)initNotiy{
[[NSNotificationCenterdefaultCenter]addObserver:self
selector:@selector(keyboardWillBeHidden1:)
name:UIKeyboardWillHideNotificationobject:nil];
}
#pragma mark-notif
-(void)keyboardWillBeHidden1:(NSNotification*)aNotification
{[self.viewendEditing:YES];
_addTableView.contentInset=UIEdgeInsetsMake(0,0,0,0);
}
-(void)dealloc{
[[NSNotificationCenterdefaultCenter]removeObserver:self];
}
- (BOOL)textFieldShouldBeginEditing:(UITextField*)textField
{
UIView*view = textField.superview;
while(![viewisKindOfClass:[UITableViewCellclass]]) {
view = [viewsuperview];
}
UITableViewCell*cell = (UITableViewCell*)view;
CGRectrect = [cellconvertRect:cell.frametoView:self.view];
if(rect.origin.y+ rect.size.height>=ScreenHeight-216) {
_addTableView.contentInset=UIEdgeInsetsMake(0,0,216,0);
//移動到底部[self.addTableViewscrollToRowAtIndexPath:[NSIndexPathindexPathForRow:self.listAry.count-1inSection:0]atScrollPosition:UITableViewScrollPositionBottomanimated:NO];}
return YES;
}
鍵盤關閉
- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
return[textFieldresignFirstResponder];//需要設定代理
}
二、textView鍵盤監聽
1.設定代理,
2.設定監聽
3.代理方法操作
4.關閉鍵盤,這裡沒有返回的代理方法,需要間接的使用另一個方法
-(BOOL)textView:(UITextView*)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
if([textisEqualToString:@"\n"]) {
//換個思路,textview有換行,這裡監聽這個
[textViewresignFirstResponder];
returnNO;
}
return YES;
}
相關文章
- 專案總結(幾大未解決問題)
- 某618大促專案的覆盤總結
- 企業WiFi覆蓋,解決覆蓋四大難題WiFi
- 分治演算法-求解棋盤覆蓋問題演算法
- 使用貪心演算法解決集合覆蓋問題演算法
- 線段覆蓋問題
- vue專案問題總結Vue
- 如何解決倉庫無線覆蓋的問題?
- Android軟鍵盤彈出,覆蓋h5頁面輸入框問題AndroidH5
- 開啟鍵盤遮住View的問題解決方法View
- Android 軟鍵盤蓋住輸入框的問題Android
- 覆盤 PHP 經典面試問題解決過程:上臺階問題PHP面試
- vue專案中遇到的問題總結Vue
- Google S2 是如何解決空間覆蓋最優解問題的?Go
- MySQL-覆蓋索引總結筆記MySql索引筆記
- OC UI總結之--tableview相關用法和問題UIView
- 【離散優化】覆蓋問題優化
- 解決關機後鍵盤滑鼠燈亮問題!
- 室外無線覆蓋解決方案
- iOS 防止輸入時鍵盤覆蓋掉輸入框iOS
- Docker殺掉了容器?問題分析與解決過程全面覆盤Docker
- 前端解決跨域問題總結前端跨域
- 演算法題:頂點覆蓋問題演算法
- 幾招輕鬆解決鍵盤油膩問題 鍵盤油膩怎麼清洗?
- 辦公室無線覆蓋方案解決網路死角難題
- BGWN專案總結之盤點
- 輸入框軟鍵盤遮擋問題解決方案
- uniapp專案所遇問題總結APP
- RAC安裝配置和使用過程的問題解決方法總結二
- 樹上最小點覆蓋的一類問題
- firefox覆蓋原來網頁的問題Firefox網頁
- 大學宿舍無線覆蓋解決方案
- 室外無線AP覆蓋解決方案
- 專案中遇到的RediS快取問題及面試問題總結Redis快取面試
- 一次專案管理的覆盤專案管理
- Django專案解決跨域問題Django跨域
- maven專案缺jar問題解決MavenJAR
- 演算法題系列:頂點覆蓋問題演算法