關(guān)于UITableView中的Cell的屬性設(shè)置的一些問題

**
我們?cè)陂_發(fā)中經(jīng)常需要設(shè)置UITableView中的Cell的一些屬性,例如Cell的背景顏色,Cell內(nèi)部的Label的文字顏色等等.這時(shí)我們就會(huì)在我們?cè)趧?chuàng)建Cell后,緊接著就設(shè)置Cell的一些屬性,但是當(dāng)程序運(yùn)行后,卻會(huì)發(fā)現(xiàn)我們?cè)O(shè)置的這些屬性有的有效果,有的卻沒有.這是為什么呢?
**

下面我們打算設(shè)置 -->
1.Cell的背景顏色;
2.Cell內(nèi)部文字顏色;
以上兩個(gè)創(chuàng)建Cell后直接設(shè)置就有效果,而下面兩個(gè)卻沒有.這是為什么呢?
3.Cell內(nèi)部文字的顯示位置
4.TableView的分隔線左右縮進(jìn)一樣大小距離

例如: 在外界我們創(chuàng)建Cell(這里的Cell已經(jīng)是我們繼承自系統(tǒng)Cell的TWCityCell) -->
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
    {
        static NSString *ID = @"cityCell";
        TWCityCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
        if (cell == nil) {
            cell = [[TWCityCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:ID];
            cell.backgroundColor = [UIColor clearColor];//把cell的顏色設(shè)clearColor
            cell.textLabel.textColor = [UIColor whiteColor];//把cell的文字顏色設(shè)白色
            cell.selectionStyle = UITableViewCellSelectionStyleNone;//取消cell的選中狀態(tài)
    //      cell.textLabel.textAlignment = NSTextAlignmentCenter;這里設(shè)置無效,應(yīng)該要自定義cell,在layoutSubviews里調(diào)整
    //      cell.width -= 15;這里設(shè)置也無效
        }
        NSString *city = self.cityArray[indexPath.row];
        cell.textLabel.text = city;
    
        return cell;
    }
自定義Cell
/*
我們想達(dá)到這樣一個(gè)效果 --> 讓UITableView顯示的分隔線左右都有一樣的間距(默認(rèn)這個(gè)分隔線在顯示出來是左邊會(huì)縮進(jìn)15,右邊是頂?shù)筋^和tableView一樣寬).
>首先我們要知道 -->
1.分隔線是屬于Cell內(nèi)部的,Cell的寬度一開始是默認(rèn)和tableView一樣寬,我們現(xiàn)在想要是想要更改cell的寬度來達(dá)到縮短分隔線的目的
  (tableView寬度不變,Cell寬度縮短15,那么分隔線顯示出來時(shí)右邊也就縮短15了,前提是要讓Cell的背景顏色為clearColor,這樣才不會(huì)露餡);
2.Cell設(shè)置自身的frame時(shí)會(huì)調(diào)用自己的- (void)setFrame:(CGRect)frame方法, 并且這個(gè)cell的frame是在這個(gè)方法里面調(diào)用
  [super setFrame:frame]時(shí)就給你設(shè)置了,(CGRect)frame參數(shù)就是tableView的frame.
>實(shí)現(xiàn) -->
  我們?cè)? (void)setFrame:(CGRect)frame方法中你拿到這個(gè)tableView的frame和調(diào)用[super setFrame:frame]來設(shè)置Cell的frame之間就來修改這個(gè)傳進(jìn)來的frame參數(shù),
那么此刻你去設(shè)置Cell的frame時(shí)真實(shí)拿到的frame就是我們修改過的(默認(rèn)cell的分隔線在左邊是縮進(jìn)15的)
 */
        - (void)setFrame:(CGRect)frame
        {
            frame.size.width -= 15;//在調(diào)用[super setFrame:frame]之前,就攔截傳進(jìn)來的tableView的frame并去修改它的寬度,而后系統(tǒng)利用這個(gè)frame設(shè)置Cell的寬度就是為你修改過的寬度了.
            [super setFrame:frame];
        }

        - (void)layoutSubviews//調(diào)整Cell內(nèi)部的textLabel的位置
        {
            [super layoutSubviews];
            self.textLabel.x = (self.width - self.textLabel.width) * 0.5;
        }

總結(jié): -->
依我所見,Cell的有些屬性,當(dāng)Cell顯示出來時(shí),系統(tǒng)是會(huì)自動(dòng)去調(diào)用Cell內(nèi)部的某些方法去確定的,例如- (void)setFrame:(CGRect)frame和- (void)layoutSubviews;所以無論你在外界怎么設(shè)置,都會(huì)被當(dāng)系統(tǒng)調(diào)用Cell內(nèi)部的某些方法確定Cell的屬性后給覆蓋掉.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市甸赃,隨后出現(xiàn)的幾起案子脸秽,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件补鼻,死亡現(xiàn)場(chǎng)離奇詭異八秃,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)辛馆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來豁延,“玉大人昙篙,你說我怎么就攤上這事∮沼剑” “怎么了苔可?”我有些...
    開封第一講書人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)袋狞。 經(jīng)常有香客問我焚辅,道長(zhǎng),這世上最難降的妖魔是什么苟鸯? 我笑而不...
    開封第一講書人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任同蜻,我火速辦了婚禮,結(jié)果婚禮上倔毙,老公的妹妹穿的比我還像新娘埃仪。我一直安慰自己,他們只是感情好陕赃,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開白布卵蛉。 她就那樣靜靜地躺著,像睡著了一般么库。 火紅的嫁衣襯著肌膚如雪傻丝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼寄啼。 笑死槐沼,一個(gè)胖子當(dāng)著我的面吹牛鼠次,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼怜校!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起注竿,我...
    開封第一講書人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤茄茁,失蹤者是張志新(化名)和其女友劉穎魂贬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裙顽,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡付燥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愈犹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片键科。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖漩怎,靈堂內(nèi)的尸體忽然破棺而出萝嘁,到底是詐尸還是另有隱情,我是刑警寧澤扬卷,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站酸钦,受9級(jí)特大地震影響怪得,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜卑硫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一徒恋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧欢伏,春花似錦入挣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至障陶,卻和暖如春滋恬,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背抱究。 一陣腳步聲響...
    開封第一講書人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工恢氯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人鼓寺。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓勋拟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親妈候。 傳聞我的和親對(duì)象是個(gè)殘疾皇子敢靡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)州丹,斷路器醋安,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,414評(píng)論 0 12
  • 1.自定義控件 a.繼承某個(gè)控件 b.重寫initWithFrame方法可以設(shè)置一些它的屬性 c.在layouts...
    圍繞的城閱讀 3,389評(píng)論 2 4
  • 概述在iOS開發(fā)中UITableView可以說是使用最廣泛的控件杂彭,我們平時(shí)使用的軟件中到處都可以看到它的影子,類似...
    liudhkk閱讀 9,047評(píng)論 3 38
  • 現(xiàn)在將近晚上11點(diǎn)吓揪,我有要崩潰的感覺~~ 我的臥室不時(shí)有煙味出現(xiàn)亲怠,那是老爸在客廳抽煙的結(jié)果。 不良的環(huán)境讓我極度不...
    菟菟俠閱讀 234評(píng)論 0 0