layoutSubviews在什么情況下調(diào)用

1.在以下情況都會(huì)調(diào)用

1.直接調(diào)用[self setNeedsLayout];(這個(gè)在上面蘋果官方文檔里有說(shuō)明)

2.addSubview的時(shí)候。

3.當(dāng)view的size發(fā)生改變的時(shí)候。

4.滑動(dòng)UIScrollView的時(shí)候。

5.旋轉(zhuǎn)Screen會(huì)觸發(fā)父UIView上的layoutSubviews事件。

注意:當(dāng)view的size的值為0的時(shí)候驻民,addSubview也不會(huì)調(diào)用layoutSubviews。當(dāng)要給這個(gè)view添加子控件的時(shí)候不管他的size有沒(méi)有值都會(huì)調(diào)用

2.先來(lái)看一下UIView的layoutSubviews在什么情況下會(huì)調(diào)用

2.1初始化,當(dāng)size不為0的時(shí)候調(diào)用一次,當(dāng)size為0的時(shí)候不會(huì)調(diào)用(在任何方法里面都不會(huì)調(diào)用)

SubView*view= [[SubView alloc]initWithFrame:CGRectMake(0,0,100,100)]; view.backgroundColor=[UIColorredColor]; [self.view addSubview:view];self.sbView= view;

2.2當(dāng)size改變的時(shí)候調(diào)用一次(size每次都不同,如果size相同就不會(huì)調(diào)用)

2.3當(dāng)添加子控件的時(shí)候,不管子控件有沒(méi)有尺寸都會(huì)調(diào)用例如:

// 添加子控件的時(shí)候都會(huì)調(diào)用CustomBtn *button = [[CustomBtn alloc] init];[self.sbView addSubview:button];

3.看UIButton什么時(shí)候調(diào)用

3.1這種情況下button的layoutSubviews調(diào)用一次,因?yàn)楫?dāng)控制器的view顯示的時(shí)候會(huì)調(diào)用控制器view的layoutSubviews(UIView除外,比較特殊)

- (void)viewDidLoad{? ? [superviewDidLoad];? ? CustomBtn*button = [[CustomBtn alloc]init];? ? [self.view addSubview:button];? }

如果放在 viewDidAppear button的layoutSubviews就不會(huì)調(diào)用

- (void)viewDidAppear:(BOOL)animated{? ? [superviewDidAppear:animated];// 因?yàn)関iew這時(shí)候已經(jīng)顯示了,父控件就不會(huì)布局了,所以代碼寫在這里最好,受干擾的因素最小CustomBtn*button = [[CustomBtn alloc]init];? ? [self.view addSubview:button]; }

3.2設(shè)置title會(huì)調(diào)用一次layoutSubviews

CustomBtn*button = [[CustomBtn alloc] init];[button setTitle:@"xxoo"forState:UIControlStateNormal]; [self.view addSubview:button];

3.2設(shè)置image的時(shí)候會(huì)調(diào)用一次layoutSubviews,注意:如果圖片的名字在工程里面沒(méi)有,就不會(huì)調(diào)用,別想騙過(guò)蘋果

CustomBtn *button = [[CustomBtn alloc] init]; [button setImage:[UIImageimageNamed:@"xoxo"] forState:UIControlStateNormal]; [self.view addSubview:button];

4.UIScrollView

4.1這種情況也會(huì)調(diào)用(比較特殊)

// scrollView比較特殊CustomScrollView *scrollView= [[CustomScrollView alloc]init];[self.view addSubview:scrollView];

4.2這種情況會(huì)調(diào)用一次layoutSubviews(代碼放在viewDidAppear,防止干擾)

// 因?yàn)閟crollView有size,所以會(huì)調(diào)用CustomScrollView *scrollView= [[CustomScrollView? alloc]initWithFrame:CGRectMake(100,100,300,200)];[self.view addSubview:scrollView]; scrollView.backgroundColor= [UIColoryellowColor]; scrollView.contentSize=CGSizeMake(0,500);

4.3當(dāng)UIScrollView滑動(dòng)的時(shí)候會(huì)掉多次layoutSubviews

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末弦撩,一起剝皮案震驚了整個(gè)濱河市昨稼,隨后出現(xiàn)的幾起案子溉箕,更是在濱河造成了極大的恐慌,老刑警劉巖悦昵,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件肴茄,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡但指,警方通過(guò)查閱死者的電腦和手機(jī)寡痰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)棋凳,“玉大人拦坠,你說(shuō)我怎么就攤上這事∈T溃” “怎么了贞滨?”我有些...
    開(kāi)封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)拍棕。 經(jīng)常有香客問(wèn)我晓铆,道長(zhǎng),這世上最難降的妖魔是什么绰播? 我笑而不...
    開(kāi)封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任骄噪,我火速辦了婚禮,結(jié)果婚禮上蠢箩,老公的妹妹穿的比我還像新娘链蕊。我一直安慰自己,他們只是感情好谬泌,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布滔韵。 她就那樣靜靜地躺著,像睡著了一般掌实。 火紅的嫁衣襯著肌膚如雪陪蜻。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天潮峦,我揣著相機(jī)與錄音囱皿,去河邊找鬼。 笑死忱嘹,一個(gè)胖子當(dāng)著我的面吹牛嘱腥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拘悦,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼齿兔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起分苇,我...
    開(kāi)封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤添诉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后医寿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栏赴,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年靖秩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了须眷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沟突,死狀恐怖花颗,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惠拭,我是刑警寧澤扩劝,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布,位于F島的核電站职辅,受9級(jí)特大地震影響棒呛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜罐农,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一条霜、第九天 我趴在偏房一處隱蔽的房頂上張望催什。 院中可真熱鬧涵亏,春花似錦、人聲如沸蒲凶。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)旋圆。三九已至宠默,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間灵巧,已是汗流浹背搀矫。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留刻肄,地道東北人瓤球。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像敏弃,于是被迫代替她去往敵國(guó)和親卦羡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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