【发布时间】:2010-11-14 20:51:14
【问题描述】:
您好!这是场景。
从导航控制器开始(并且不存在标签栏 - 它从先前的视图控制器推送中隐藏),我初始化一个新的视图控制器并将其推送到导航控制器堆栈上。这个新的 VC 包含一个孤独的 UIView,我以编程方式在其中添加一个具有相同框架的 UIScrollView。 (我想避免 UIView,但这是我可以将 self.view 分配给某些东西的唯一方法。我怀疑投射 UIScrollView 到 UIView 中的 viewDidLoad 是不可取的。)
所以现在我们有了一个导航栏和一个滚动视图。我已经将它设置为滚动浏览一些图像(我知道,这让我大吃一惊!),效果很好。现在我希望它支持自动旋转。所以我在 VC 中这样回应:
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
编译并运行。啊……什么都没有。显然我做错了什么。
现在,我已经阅读了有关 UINavigationController and autorotation 的帖子,并且我偷偷怀疑我的做法是错误的,并且使事情变得比必要的复杂。
必须有更好的方法来呈现支持自动旋转的 UIScrollView。也许导航控制器挡住了路,但我不知道如何绕过它。
理想情况下,我想要不显示任何导航栏的东西。相反,我们有一个从顶部显示/隐藏的工具栏/状态栏(就像您在播放视频时看到的那样)。如果导航栏必须保留 - 或者如果这真的是我在播放视频与工具栏时看到的较短高度的导航栏,但是我可以旋转吗?问题是,我只希望它在查看像素时以这种特定模式旋转。其他时间都没有。
我敢尝试使用模态VC吗? (Yeccch - 不,这也不对。而且它还有一个导航栏。)
【问题讨论】:
-
这个帖子可能有一个线索(关于 VC 链):discussions.apple.com/thread.jspa?threadID=1646143
标签: iphone uinavigationcontroller uiscrollview uitabbarcontroller rotation