• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 知道何时用手势解除 Split View Controller 的主控

[复制链接]
菜鸟教程小白 发表于 2022-12-13 07:24:28 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在 iOS 7 上实现一个主从应用程序,主视图 Controller 是一个导航 Controller ,它可以在两个 TableView Controller 中导航。细节是一个显示图像的简单 View Controller 。

我已经详细实现了 UISplitViewController 方法:

- (BOOL) splitViewControllerUISplitViewController *)svc shouldHideViewControllerUIViewController *)vc inOrientationUIInterfaceOrientation)orientation
{
    return UIInterfaceOrientationIsPortrait(orientation);
}

- (void) splitViewControllerUISplitViewController *)svc willHideViewControllerUIViewController *)aViewController withBarButtonItemUIBarButtonItem *)barButtonItem forPopoverControllerUIPopoverController *)pc
{
    UINavigationController* nav= (UINavigationController*)aViewController;
    barButtonItem.title= nav.topViewController.title;
    self.navigationItem.leftBarButtonItem= barButtonItem;
}

- (void) splitViewControllerUISplitViewController *)svc willShowViewControllerUIViewController *)aViewController invalidatingBarButtonItemUIBarButtonItem *)barButtonItem
{
    self.navigationItem.leftBarButtonItem= nil;
}

问题在于,当用户使用手势关闭主视图 Controller 时,不会调用 splitViewController:willHideViewController:withBarButtonItem:forPopoverController:

这样的问题是,如果用户通过主导航 Controller 导航然后关闭主控,标签栏按钮项目显示旧标题。

为了更清楚,我将逐步解释发生了什么。主导航 Controller 的根导航 Controller 的标题是“Top Places”。推送的 View Controller 的标题是“照片”。当应用启动时,纵向模式下没有主人:

enter image description here

用户呈现“Top Places” View Controller :

enter image description here

然后用户导航到第二个 View Controller :“照片”:

enter image description here

然后用户关闭主人,但标签栏按钮项目仍然保留它的旧标题“Top Places”:

enter image description here

问题是 Split View Controller 委托(delegate)在通过手势解除主控时没有调用方法。



Best Answer-推荐答案


根本没有 UISplitViewControllerDelegate 委托(delegate)方法来检测在纵向时弹出框何时被解除。它是如何被解雇的并不重要。如果您想知道,请为弹出框 Controller 设置一个委托(delegate)。

从横向旋转到纵向时会调用 splitViewController:willHideViewController:withBarButtonItem:forPopoverController: 委托(delegate)方法。

关于ios - 知道何时用手势解除 Split View Controller 的主控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22702557/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap