【问题标题】:Make Navigation Controller's largeTitleDisplayMode react to specific scrollViews使导航控制器的 largeTitleDisplayMode 对特定的滚动视图做出反应
【发布时间】:2019-01-07 01:40:34
【问题描述】:

我正在尝试在我的应用中实现新的 largeTitleDisplayMode 功能。我有一个顶级 mainScrollview,里面有多个 childTableView。您可以在 mainScrollview 内向左/向右滑动(基本页面控件)以查看所有 childTableView。由于我所有的 childTableViews 都在 mainScrollview 内,导航栏的 largeTitleDisplayMode 功能不会响应任何 childTableViews 滚动。有没有办法告诉 navigationController 响应特定的 scrollView 子类(在这种情况下是 childTableViews)?

【问题讨论】:

    标签: ios objective-c swift uinavigationcontroller preferslargetitles


    【解决方案1】:

    您可以尝试 UIScrollViewDelegate scrollViewDidEndDecelerating 并计算哪个索引在视图中,这样您就可以更新您的标题。如果我明白你想做什么。

    【讨论】:

    • 我已经尝试在我的 scrollViewDidEndDecelerating 委托方法中使用 UIView.animate(withDuration: 0.2) {self.navigationItem.largeTitleDisplayMode = .always} 之类的方法。但这并不顺利。我希望导航栏在 childTableViews 滚动时以交互方式折叠/展开。
    • “自定义视图标题”怎么样?您能提供一些动画示例吗?
    • 目前还没有动画,因为 childTableViews 没有触发 largeTitleDisplayMode。但我希望预期的行为类似于here。但是,我在顶层的 scrollView 中有多个 tableView,而不是只有一个国家/地区的 tableView。
    • 所以你需要在这个例子中实现一个自定义导航:stackoverflow.com/questions/42953360/… 或者在这里,另一个很棒的教程:medium.com/if-let-swift-programming/… 所以在这个例子中你只需要添加一个标签来处理它的大小用卷轴
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多