gpt4 book ai didi

ios7 - NavigationController 中的 UIPageViewController

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

我已经阅读了我找到的关于 UIPageViewController 的所有教程,但它们只展示了基础知识,我想创建类似新的 twitter 应用程序的东西:

enter image description here

UIPageViewController 嵌入到导航 Controller 中,导航栏的标题基于当前页面,并且那些页面点也在那里,用户可以点击当前页面上的项目(来自表格 View / Collection View 的项目)以查看详细信息。

我能够想出类似的东西,每个页面都有 Collection View ,并且显示某些项目的详细信息反射(reflect)在导航栏中,有正确的标题和“<”按钮,但我无法根据当前更改标题显示页面

拜托,你能用几个步骤/ Controller 的基本结构来描述我如何做到这一点吗?

最佳答案

我有一个非常相似的设置并解决了这个问题。

我的设置是我在 UINavigationController 中有一个 UIPageViewController,因为我希望导航栏在每个 View Controller 之间滑动时保持不变。我希望 UIPageViewController 中当前 UIViewController 的标题成为 UINavigationController 的标题。

这样做的方法是实现 UIPageViewControllerDelegate方法pageViewController didFinishAnimating在从 UIPageViewController 更改 View Controller 后触发。您可能会看到这是怎么回事:从这里,设置 UIViewPageController 的 navigationItem.title 属性,UINavigationController 使用它来设置它自己的标题,以及当前 View Controller 的标题。

例子:

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed
{
if(finished && completed)
{
NSString *titleOfIncomingViewController = [[pageViewController.viewControllers firstObject] title];
pageViewController.navigationItem.title = titleOfIncomingViewController;
}
}

注意:此委托(delegate)方法仅触发手势启动的滚动。

关于ios7 - NavigationController 中的 UIPageViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21443555/

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