gpt4 book ai didi

iphone - 禁用单个 UIView 的自动旋转

转载 作者:行者123 更新时间:2023-12-03 18:38:45 27 4
gpt4 key购买 nike

好吧,这看起来应该相对简单,但我已经在谷歌上搜索了一个小时的时间,似乎找不到我需要的东西。

我有一个 View Controller ,它有几个不同的部分:背景 View 、标题 View 和一些按钮。现在,我希望标题和按钮能够正确自动旋转(当我从 shouldAutorotateToInterfaceOrientation: 返回 YES 时,它们会自动旋转),但在任何情况下背景 View 都不应该旋转。有没有正确的方法来做到这一点?

最佳答案

如果您不希望在背景更改为正确方向后临时旋转背景 View ,则需要关闭 View 的自动旋转。没有两种方法可以解决这个问题。

您需要自己处理按钮的旋转。您可以制作一个漂亮的布局,也可以将它们放在例如 ScrollView 上,然后调整其大小。

无论哪种方式,您都需要添加一个观察者来自己旋转它,

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(didRotate:)
name:UIDeviceOrientationDidChangeNotification object:nil];

如果您愿意,可以在 didRotate 中调整大小,并使用漂亮的动画过渡。

- (void) didRotate:(NSNotification *)notification {
int ori=1;
UIDeviceOrientation currOri = [[UIDevice currentDevice] orientation];
if ((currOri == UIDeviceOrientationLandscapeLeft) || (currOri == UIDeviceOrientationLandscapeRight)) ori=0;
}

希望您能满意。如果导航栏或状态栏导致 View 隐藏在顶部栏下方,有一些方法可以解决这个问题。

关于iphone - 禁用单个 UIView 的自动旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com