我有一个 1 的故事板,其中 1UIViewController
包含UIView
许多嵌套UIView
的 s。我将视图控制器子类化以实现此方法:
- (BOOL)shouldAutorotateToInterfaceOrientation: UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}
我还添加了
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UIInterfaceOrientation</key>
<string>UIInterfaceOrientationLandscapeLeft</string>
到Info.plist
.
在主 UIView 的 viewDidLoad 中,我正在这样做:
PASectionView* sectionView = [[PASectionView alloc] initWithFrame:CGRectMake(0, 0, self.frame.size.width, 180)];
[self addSubview:sectionView];
问题是控件只有 756px 宽,而不是预期的 1024。有关详细信息,请参阅下面的屏幕截图。我一直在网上搜索,但在任何地方都找不到解决这个令人沮丧的问题的方法。我正在使用 Xcode 4.5 并将 iOS5.1 设置为基本 SDK。
编辑 它通过用边界替换框架来工作。但是我不明白发生了什么,所以它不适用于帧大小。