我用下面的代碼來設置UIView裏面的一個子UIView(一個白色框)。如何在父視圖中設置uiview大小?
float x = 10.0;
float y = 40.0;
float w = self.view.frame.size.width - 20.0f;
float h = self.view.frame.size.height/3.0;
UIView *whiteBox = [[UIView alloc] initWithFrame:CGRectMake(x, y, w, h)];
基本上,我想繪製一個10像素的白色框到父UIView的兩個邊緣。但是,白色框的右側總是超出父視圖的邊界。它看起來像self.view.frame.size.width大於實際視圖的寬度。我使用iphone5S作爲模擬器。 我只是想知道如何設置白框的正確寬度。
寬度是600,它在ViewDidLoad方法中。是的,我可以在故事板中使用我已經完成的自動佈局。我只是好奇如何在代碼中實現這一點。當然,我仍然可以使用自動佈局約束。我只想知道爲什麼它看起來uiview的幀寬度不適合我當前的模擬器(Iphone5S)。 – mmjuns
'ViewDidLoad'是你的問題。該方法之後沒有設置框架。嘗試將其移至'ViewWillAppear:'或'ViewDIdAppear:'請參閱http://stackoverflow.com/questions/6757018/why-am-i-having-to-manually-set-my-views-frame-in-viewdidload for更多信息。 –