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