我试图弄清楚 iPhone 版 Twitter 中的导航样式是如何实现的。
当您在时间线中点击一条推文时,(自定义)标签栏会在从时间线到详细视图的过渡期间保持原位。这表明选项卡栏是 'main' 的子视图UIViewController
,其中包含一个 4 数组,UINavigationControllers
每个选项卡一个。当一个选项卡被按下时,主视图从其视图UIViewController
中删除当前可见的并将新的添加为子视图。UINavigationController
在这种方法中,标签栏不是任何导航堆栈的一部分,因此它在每次转换期间都保持原位。
但是,当您在详细视图中点击 URL 时,选项卡栏会移出屏幕并出现一个新的工具栏。这与上述理论相矛盾。
Tweetbot 使用与官方 Twitter 应用完全相反的导航风格。如果您在 Tweetbot 的时间轴中点击一条推文,标签栏会移出屏幕。标签栏在过渡期间永远不会停留在原位。他们可能使用一个UINavigationController
,主UIViewController
+ 选项卡栏作为 rootviewcontroller。我假设当用户点击一条推文时,时间线会通过委托或类似的方式调用[self.navigationController pushViewController:]
主线。UIViewController
事实上,iPhone 版 Twitter 将第一个理论与 Tweetbot 导航风格背后的理论混合在一起。我怎样才能实现官方 Twitter 应用程序的功能?