1
被重寫,我有以下代碼:代碼由故事板
- (void) awakeFromNib
{
CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}
代碼內部無所事事;當應用程序加載buttonOne正好在故事板上的位置時。
如果我把裏面viewDidLoad中相同的代碼這樣:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CGRect temp = self.buttonOne.frame;
temp.origin.y += 50;
self.buttonOne.frame = temp;
}
它的工作原理和按鈕向下移動。
這是因爲在awakeFromNib射擊和正在繪製的視圖之間發生了什麼?
任何澄清將是偉大的!
因此,當awakeFromNib被調用時,應用程序對任何視圖的座標一無所知,並且它所做的任何更改都將被覆蓋? 調用哪個函數來設置故事板中視圖的初始座標? – Bassel 2013-02-26 21:21:23
@Bassel當awakeFromNib被調用時,視圖並不存在,因爲它尚未被加載,所以你所做的任何更改都不會執行任何操作。當調用viewDidLoad時,初始座標將是已知的,請注意,這可能與最終座標不同,因爲視圖調整大小以適應控制器的內容。 – 2013-02-26 21:25:19
以及我禁用視圖自動調整和禁用自動佈局,所以這不應該發生,我輸入viewDidLoad時的座標將有望成爲最終的座標,將被顯示。感謝你的回答! – Bassel 2013-02-26 21:28:48