社區。有一些奇怪的UIView調整大小的事情,我無法理解。UIVIew在Storyboard和NIB區別中調整大小
比方說,我們有簡單的單視圖應用程序與Main.storyboard。 在故事板我創建RedView
。它有默認大小600x600。所有選項都是默認設置的。我沒有改變任何東西。
現在,我創建了帶有BlueView
的BlueView.xib,它與RedView具有相同的大小和選項。另外,我正在創建BlueViewControler
類,並將其設置爲BlueView.xib中的所有者。 BlueViewControler是空的。
RedView包括藍景作爲這樣的孩子:
@implementation RedViewController
{
BlueViewController *_blueViewController;
}
- (void)viewDidLoad {
[super viewDidLoad];
_blueViewController = [[BlueViewController alloc] initWithNibName:@"BlueView" bundle:nil];
[self.view addSubview:_blueViewController.view];
}
@end
而現在,當我發起對iPhone 5的模擬器應用程序,RedView變成320 * 568,藍角度的600 * 600
2015-08-28 13:32:17.937 TestViewSize[3087:77218] RedView frame = {{0, 0}, {320, 568}}
2015-08-28 13:32:17.938 TestViewSize[3087:77218] BlueView frame = {{0, 0}, {600, 600}}
在屏幕上,它們看起來也不一樣。 所以我的問題是:
爲什麼RedView,在故事板創建,autoresizes?我可以理解,爲什麼藍色視圖是600 * 600,但爲什麼紅色調整爲屏幕大小?誰告訴它這樣做?
在XIB中創建視圖和故事板與調整視圖有關,而不是其他任何事情。爲什麼故事板改變其視圖,.XIB不?
我的項目創建在Xcode 6,目標是8.0,使用Autolayout
和Size Classes
被啓用。
u必須重寫任何的'初始化方法BlueViewController'and設置框當u用筆尖創造 – Mukesh
@muku,我知道,我該如何處理這個問題,我對**感興趣爲什麼**會發生這種情況? – Akira