layoutSubviews在什麼情況下呼叫

2021-07-09 16:49:06 字數 1574 閱讀 6528

###1.在以下情況都會呼叫

注意:當view的size的值為0的時候,addsubview也不會呼叫layoutsubviews。當要給這個view新增子控制項的時候不管他的size有沒有值都會呼叫

####2.先來看一下uiview的layoutsubviews在什麼情況下會呼叫

subview*view= [[subview alloc]initwithframe:cgrectmake(0,0,100,100)];

view.backgroundcolor=[uicolor redcolor];

[self.view addsubview:view];

self.sbview= view;

// 新增子控制項的時候都會呼叫

custombtn *button = [[custombtn alloc] init];[self.sbview addsubview:button];

3.看uibutton什麼時候呼叫
- (void)viewdidload
// 因為view這時候已經顯示了,父控制項就不會布局了,所以**寫在這裡最好,受干擾的因素最小

custombtn*button = [[custombtn alloc]init];

[self.view addsubview:button];

}

custombtn*button = [[custombtn alloc] init];

[button settitle:@"xxoo" forstate:uicontrolstatenormal];

[self.view addsubview:button];

custombtn *button = [[custombtn alloc] init];

[button setimage:[uiimage imagenamed:@"xoxo"] forstate:uicontrolstatenormal];

[self.view addsubview:button];

###4.uiscrollview

// scrollview比較特殊

customscrollview *scrollview= [[customscrollview alloc]init];

[self.view addsubview:scrollview];

// 因為scrollview有size,所以會呼叫

customscrollview *scrollview= [[customscrollview alloc]initwithframe:cgrectmake(100,100,300,200)];

[self.view addsubview:scrollview];

scrollview.backgroundcolor= [uicolor yellowcolor];

scrollview.contentsize= cgsizemake(0,500);

layoutSubviews在什麼時候被呼叫

layoutsubviews在以下情況下會被呼叫 1 init初始化不會觸發layoutsubviews 2 addsubview會觸發layoutsubviews 3 設定view的frame會觸發layoutsubviews,當然前提是frame的值設定前後發生了變化 4 滾動乙個uiscrol...

layoutSubviews呼叫情況

layoutsubviews呼叫情況 layoutsubviews在以下情況下會被呼叫 1 init初始化不會觸發layoutsubviews 2 addsubview會觸發layoutsubviews 3 設定view的frame會觸發layoutsubviews,當然前提是frame的值設定前後...

layoutSubviews何時被呼叫

layoutsubviews 在以下情況下會被呼叫 1 init 初始化不會觸發 layoutsubviews 2 addsubview 會觸發 layoutsubviews 3 設定 view 的 frame 會觸發 layoutsubviews,當然前提是 frame 的值 size 設定前後發...