gpt4 book ai didi

ios - iPhone日历导航 Controller

转载 作者:行者123 更新时间:2023-12-03 20:03:22 27 4
gpt4 key购买 nike

为了进一步学习,我正在尝试复制默认的 iPhone 日历导航实现。我在纵向中看到的是一个半标准的导航栏,其中在年 View 中选择一个月会插入月 View ,选择一个月中的一天会插入日 View 。

但是,更改为横向我们有一个分段控件而不是标题,并且标题位于左栏按钮位置。我的问题有两个。

首先,当方向改变时,我应该如何考虑使用标题/分段控件和左栏按钮来完成布局更改?

第二,使用分段控件在横向模式下幕后发生了什么?例如,如果“日”分段是当前 View ,那么选择不同的分段时会发生什么?如果选择“月”,月 View 是否会推到日 View 之上?或者,是在推送周 View 之前弹出日 View 吗?此外,切换回纵向,似乎当前 View 已被推到前一个 View 的顶部。

我想我很难理解围绕分段控件进行切换以及进行各种选择以及其他选择所发生的情况。

Portrait

Landscape

最佳答案

首先,我不会将其视为“扩展”导航栏,而是设置为位于导航栏正下方且具有相同颜色/样式的附加 UIView。

我认为你需要看看 UIContainers 和 Stacks,无论是水平的还是垂直的。

通过这种方式,您将拥有一个 UIViewController 来控制显示星期几并处理动画和状态的 UIView,但在您的父 UIViewController 中,您将拥有一个 UIContainer View ,您可以在 ViewDidLoad 上设置该 View 导航栏的框架,然后加载子 UIViewControllers View 并将其设置为容器的 View 。

这允许您将逻辑分离为更小且更易于管理的 UIViewController,并且您可以根据设备方向在运行时不断添加或删除它们。

查看有关 UIContainer 的信息:

https://developer.apple.com/library/archive/featuredarticles/ViewControllerPGforiPhoneOS/ImplementingaContainerViewController.html

看看这个如何使用堆栈:

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=2ahUKEwjgyMKX4uvjAhUKXRUIHXeGD-8QtwIwAHoECDIQAQ&url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dp0X4TnK5m5o&usg=AOvVaw0xdJhCVz3BG5kI2_v7zWe6

这是另一篇关于 UIContainerViews 组合的精彩文章:

https://medium.com/flawless-app-stories/container-view-controllers-revisited-e076ef38853f

关于ios - iPhone日历导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57041469/

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