好的,我注意到您的代码有些奇怪。
有什么理由将宽的大小添加到 aRect 的 x 位置的原点?aRect.origin.x += aRect.size.width;
我假设你希望这是右上角....
您可以取消注释 .m 文件中的代码并使其如下所示:
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
Return YES; // for supported orientations
//otherwise return (interfaceOrientation == UIInterfaceOrientationLandscape); if you want only landscape mode.
}
或者,如果您想布局子视图,我会在您的情况下使用 didRotateFromIntferfaceOrientation: 像这样:
(void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
[self layoutSubviews];
}
还有 layoutSubviews
- (void)layoutSubviews
{
NSLog(@"layoutSubviews called");
...recalc rects etc based on the new self.view.bounds...
}
它是这样工作的。
PK