iOS表格控件唬涧、多TextField頁面處理優(yōu)化

今天一整天感覺都郁悶了今艺,接手的項目里面有很多沒有考慮清楚的問題,讓現(xiàn)在的工程一會報錯一會出現(xiàn)新的問題爵卒⌒槎校總結(jié)了兩個需求的幾個優(yōu)化方案,記錄下來钓株。


1.實現(xiàn)類似表格的控件

? 第一個版本 ?在xib里面拖控件

我接手的時候实牡,在項目的競猜模塊,前一位直接在xib里面畫的控件轴合。實現(xiàn)如下:

xib控件實現(xiàn)表格

其實對于xib拖控件這個想法创坞,我覺得對于一些靜態(tài)頁面或者變動不是很大的動態(tài)頁面的時候我會考慮,因為會在很短的時間內(nèi)實現(xiàn)整個界面的布局受葛,代碼量少题涨、適配簡單而且整個流程一目了然偎谁。

但是對于本身的項目需求而言:

1.小模塊過多,需要十分小心布局適配纲堵。要是需求一邊巡雨,又得重畫

2.表格中里面所有的字都是動態(tài)獲取的,這拖label就得花一定的時間而且易亂

所以我是不贊同使用這個方法畫表格的席函,所以在新的需求到來的時候進行了改版

第二個版本? 自定義collectionView的layout

看過collectionView的官方文檔應(yīng)該知道铐望,layout里面有一些方法十分方便的可以重新布局。實現(xiàn)如下(表格內(nèi)動態(tài)數(shù)據(jù)):

自定義collectionViewFlowLayout

其實這個布局相當(dāng)于把每一行當(dāng)做一個section茂附,每一列當(dāng)做一個item正蛙。

因為我是將這個collectionView當(dāng)做tableView的cell,所以設(shè)置collectionView的可滾動性為NO营曼。數(shù)據(jù)也是直接從cell方面?zhèn)鬟^來的乒验。

所以我的自定義的layout代碼如下:

設(shè)置collectionViewCell的大小
設(shè)置collectionView的整體

當(dāng)然,這里我是將"參賽人成績"放在外面tableView的headerView上蒂阱,你也可以通過

-(UICollectionViewLayoutAttributes *)layoutAttributesForSupplementaryViewOfKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath

布局到collectionView上徊件。一定要注意一點:如果layout自定義布局里面包括headerView,那么設(shè)置cell的y值時一定要將headerView的大小位置考慮進行蒜危。就像一塊白板虱痕,所有控件之間的相對位置、關(guān)系都需要考慮好辐赞。

第三個版本 ?設(shè)置基類

因為項目里面有很多個不同的界面有類似的表格部翘,千萬不要傻到每一個界面都去關(guān)聯(lián)一個layout。如果對于collectionView里面的cell布局响委、顏色新思、之類的都一樣的話,直接就用一個collectionView就可以了赘风。但是如果cell有大的變動夹囚,可以設(shè)置一個collectionView的基類,這樣就可以使用一個layout了邀窃。

2.多TextField的頁面

第一個版本

項目里面的頁面基本都是包括很多TextField的荸哟,所以在處理的過程中出現(xiàn)了一些莫名其妙的問題。

nav導(dǎo)航欄的上面出現(xiàn)了一大塊的留白瞬捕,問題如下:

多TextField的問題

而且向上向下都無法滾動

第二個版本 修復(fù)問題

前面說了項目里面的頁面基本上很多TextField鞍历,這個頁面的下一個頁面也有TextField,而之前的開發(fā)者:

監(jiān)聽鍵盤

居然選擇了監(jiān)聽鍵盤彈出事件肪虎?A涌场!扇救!

所以刑枝,如果所有有多個有TextField的頁面在同一個NavigationController中,盡量不要用鍵盤的監(jiān)聽香嗓,即使你處理了resignFirstResponder,但是請注意:是擁有多個TextField的頁面W俺靠娱!

反正我目前只能修復(fù),后期再重新理一遍邏輯重寫洁灵。

不再監(jiān)聽,改成使用TextField 的方法:

開始編輯

這個爆炸的問題稍稍解決之后掺出,又出現(xiàn)問題了:項目之前寫的是:

self.view.transform = CGAffineTransformMakeTranslation(0, -height);

二個:

1.不記得從哪里看過的徽千,盡量不要移動viewController本身的view。這貨移動的可歡了汤锨,基本上每一個界面都是双抽?!既然上面鋪了一層scrollView闲礼,為啥不用牍汹?

self.scrollView.transform = CGAffineTransformMakeTranslation(0, -height);

2.CGAffineTransformMakeTranslation這個是控制移動的,之前就是大概的用了一下柬泽,現(xiàn)在有個問題就是多個移動的時候慎菲,出現(xiàn)不移動的效果。網(wǎng)上講的也聽不懂锨并,什么中心相對位置之類的露该,還是過幾天去看官方的問題。所以我直接就不用了第煮,有scrollView解幼,為啥不用呢?

self.scrollView.contentOffset = CGPointMake(0, _keyboardHeight);

第二個版本 優(yōu)化問題

其實項目的前任基本上都是拖拽控件,其實很簡易而且清晰包警,但就是邏輯沒有考慮很清楚撵摆,導(dǎo)致很多地方即使一樣的布局還是畫了不少的view。所以就我個人而言:拖拽可以害晦,但是還是以小布局為主特铝,不是整體頁面為主。

其次壹瘟,真的要學(xué)好英語苟呐,不要用中文拼音命名,要直接了當(dāng)俐筋。一定要注釋牵素!不需要太多,像我個人的習(xí)慣澄者,會在.h文件上方寫上這是哪一個模塊的使用類:

類注釋

最后笆呆,測試吧请琳,希望我在所有問題解決完之前不要有白頭發(fā)。哈哈哈哈

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赠幕,一起剝皮案震驚了整個濱河市俄精,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌榕堰,老刑警劉巖竖慧,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異逆屡,居然都是意外死亡圾旨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進店門魏蔗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來砍的,“玉大人,你說我怎么就攤上這事莺治±希” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵谣旁,是天一觀的道長床佳。 經(jīng)常有香客問我,道長榄审,這世上最難降的妖魔是什么夕土? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮瘟判,結(jié)果婚禮上怨绣,老公的妹妹穿的比我還像新娘。我一直安慰自己拷获,他們只是感情好篮撑,可當(dāng)我...
    茶點故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著匆瓜,像睡著了一般赢笨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驮吱,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天茧妒,我揣著相機與錄音,去河邊找鬼左冬。 笑死桐筏,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拇砰。 我是一名探鬼主播梅忌,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼狰腌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了牧氮?” 一聲冷哼從身側(cè)響起琼腔,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踱葛,沒想到半個月后丹莲,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡尸诽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年甥材,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逊谋。...
    茶點故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡擂达,死狀恐怖土铺,靈堂內(nèi)的尸體忽然破棺而出胶滋,到底是詐尸還是另有隱情,我是刑警寧澤悲敷,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布究恤,位于F島的核電站,受9級特大地震影響后德,放射性物質(zhì)發(fā)生泄漏部宿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一瓢湃、第九天 我趴在偏房一處隱蔽的房頂上張望理张。 院中可真熱鬧,春花似錦绵患、人聲如沸雾叭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽织狐。三九已至,卻和暖如春筏勒,著一層夾襖步出監(jiān)牢的瞬間移迫,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工管行, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留厨埋,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓捐顷,卻偏偏與公主長得像揽咕,于是被迫代替她去往敵國和親悲酷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容