首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIScrollView中的UITabController

UIScrollView中的UITabController
EN

Stack Overflow用户
提问于 2012-06-19 06:48:12
回答 3查看 244关注 0票数 0

我有通过故事板创建的标签控制器,带有自定义实现(简单的按钮和标签)和隐藏的默认栏。这一切都像预期的那样工作,并且可以在各种视图中导航。然而,在我的几个视图中,我需要使用UIScrollView,但希望选项卡栏控件移动到滚动视图的底部,您必须滚动到底部才能访问它们。我如何实现这样的配置?我使用的是XCode 4.3、ARC和故事板。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-19 07:26:29

您必须创建自己的包含选项卡的UIView实现,并将其放在UIScrollView的底部。

UITabBarController必须是窗口的根目录。换句话说,UITabBarController中的UIViewController可以包含UIScrollView,但不能将UITabBarController放在另一个UIViewController中(或放在UIScrollView中)。

UITabBarController Class Reference

部署选项卡栏界面时,必须将此视图安装为窗口的根目录。与其他视图控制器不同,选项卡栏界面永远不应该安装为另一个视图控制器的子级。

票数 1
EN

Stack Overflow用户

发布于 2012-06-19 08:07:44

@MichaelFrederick已经为您的问题提供了正确的技术答案。我现在将给你一些更高层次的设计反馈。

请不要这样做。

你所描述的听起来令人难以置信的困惑。UITabBar的一个目的是向用户提供关于他们所处的“模式”的上下文。通过隐藏它,您拒绝了用户此上下文信息。

这也意味着,如果用户想要快速切换模式(选项卡),您将强制它们滚动。

如果您绝对需要滚动视图的最大屏幕空间(例如,大图像),请考虑提供一个模式视图控制器。这给了你想要的东西,但没有任何混乱的子类化,定制标签(总是行为不太正确),或可用性问题。

票数 4
EN

Stack Overflow用户

发布于 2012-06-19 08:26:24

我完全同意Conrad和Michael的观点,除了我不认为你需要创建自己的自定义标签栏之外,一切都是正确的。您应该能够在不使用UITabBarController的情况下直接使用UITabBar

除了阅读文档之外,我不会给您更多关于如何做到这一点的提示,因为Conrad是绝对正确的。这是非常糟糕的设计。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11092183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档