我創建了一個單視圖測試應用程序,並將UIButton
和UIView
添加到主故事板中的UIViewController
。我調整了按鈕大小相同的視圖。模擬器中的UIView邊界/繪圖不正確
在我的VC的-viewDidAppear:動畫方法我傾倒框架和按鈕的邊界和看法:
- (void)viewDidAppear:(BOOL)animated
{
NSLog(@"button bounds: %@", NSStringFromCGRect(self.theButton.bounds));
NSLog(@"button frame: %@", NSStringFromCGRect(self.theButton.frame));
NSLog(@"view bounds: %@", NSStringFromCGRect(self.theView.bounds));
NSLog(@"view frame: %@", NSStringFromCGRect(self.theView.frame));
}
在這裏,在模擬器上運行時的輸出:
button bounds: {{0, 0}, {100, 100}}
button frame: {{110, 72}, {100, 100}}
view bounds: {{0, 0}, {100, 12}}
view frame: {{110, 179}, {100, 12}}
當在設備上運行時:
button bounds: {{0, 0}, {100, 100}}
button frame: {{110, 72}, {100, 100}}
view bounds: {{0, 0}, {100, 100}}
view frame: {{110, 179}, {100, 100}}
我不明白爲什麼視圖在模擬器中運行時報告12的高度。視圖在模擬器中繪製不正確,但在設備上運行時按預期繪製。請注意,UIViewController
的最上面的UIVIew
具有「Autoresize Subviews」未選中狀態(儘管這兩種方式都沒有區別)。
(Xcode的4.5.2。的iOS 6.0)
謝謝, CS
從視圖的底部延伸那行,也許這就是使它自動調整視圖 – jjv360
jjv360:?那行只是IB的自動對中指南,它可以幫助你將視圖集中在它的父視圖中),它與繪圖沒有關係:) – RobertJoseph
在視圖中添加內容並查看它是否自動調整大小 –