Arc*_*ite 6 iphone cocoa-touch uiviewcontroller uikit
好吧,这似乎应该相对简单,但我一直在谷歌搜索一小时的大部分时间,似乎无法找到我需要的东西.
我有一个视图控制器,它有几个不同的部分:背景视图,标题视图和几个按钮.现在,我希望标题和按钮正确自动旋转(当我从shouldAutorotateToInterfaceOrientation返回YES时,它们会这样做),但在任何情况下都不应该旋转背景视图.有没有正确的方法来做到这一点?
如果您不希望临时旋转背景视图,然后将背景更改为具有正确的方向,则需要关闭视图的自动旋转.关于它没有两种方法.
您需要自己处理按钮的旋转.您可以制作一个漂亮的布局或将它们放在例如Scrollview上,然后调整它.
无论哪种方式,你都需要添加一个观察者来自己旋转它,
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:)
name:UIDeviceOrientationDidChangeNotification object:nil];
Run Code Online (Sandbox Code Playgroud)
在didRotate中你可以调整大小,如果你愿意的话可以使用漂亮的动画过渡.
- (void) didRotate:(NSNotification *)notification {
int ori=1;
UIDeviceOrientation currOri = [[UIDevice currentDevice] orientation];
if ((currOri == UIDeviceOrientationLandscapeLeft) || (currOri == UIDeviceOrientationLandscapeRight)) ori=0;
}
Run Code Online (Sandbox Code Playgroud)
希望能对你进行分类.如果导航栏或状态栏导致视图隐藏在顶部栏下方,则有一些方法可以解决这个问题.