iOS11.0-UITableViewController自動彈出鍵盤

UITableViewController自動彈出鍵盤

場景:
輸入列表,n個(gè)輸入框(每一行44高度,30個(gè)cell),或編輯或彈出picker

各個(gè)cell自動適應(yīng)高度
設(shè)置預(yù)設(shè)高度:
self.tableView.rowHeight = UITableViewAutomaticDimension;
self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

點(diǎn)擊當(dāng)前屏幕范圍內(nèi)某inputView,彈出鍵盤, UITableViewController自動彈起,會出現(xiàn)不在當(dāng)前視圖內(nèi)的cell加載不出來,產(chǎn)生空白(部分cell展示不出),再次滾動滾出范圍恢復(fù)加載cell;

解決方案:
取消預(yù)設(shè)高度,通過代理方法heightForRowAtIndexPath:返回每一行cell高度;

原因:
tableView自適應(yīng)高度,每個(gè)cell的位置都是不確定的,彈出鍵盤會改變cell(不在當(dāng)前屏幕的)的位置,導(dǎo)致UI錯(cuò)亂;
由于本人xcode環(huán)境9.1,在我的手機(jī)(iphoneX11.3)上時(shí)100%復(fù)現(xiàn)的bug,在11.2系統(tǒng)iphone se上面復(fù)現(xiàn)率也很高;感覺和11.0之后UITableViewController的底層機(jī)制有關(guān)系,還需要更深入的研究;

ps:
我的table布局,創(chuàng)建cell加入到list里面;
中間看到同事利用字典參數(shù),循環(huán)創(chuàng)建的cell輸入列表,參考:http://www.itdecent.cn/p/47e96d025742;
有機(jī)會學(xué)習(xí)一下,感覺自己技術(shù)落后了;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件,我們平時(shí)使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,297評論 3 38
  • get到一個(gè)學(xué)習(xí)英文的小技巧。使用電子字典查詞的時(shí)候,直接拉到頁面最下方,看英文解釋。
    中南偏南閱讀 126評論 0 0
  • 人生如草芥 ,落地似浮萍 珍重朝露意,晚歌不忘情
    urna閱讀 140評論 0 0
  • 【2017】 ????????????????????????稱多教育動態(tài)(61) ?????...
    稱多教育閱讀 439評論 0 1
  • 做人要厚道 (高揚(yáng)邊踏入舞臺別唱歌:天天都需要讀書,到底讀書有啥用,I hate studying,我就想要每天都...
    水_水閱讀 437評論 0 1

友情鏈接更多精彩內(nèi)容