0

免责声明:我是来自 Android 的 iOS 新手;我不太了解 Objective-C,但我学过 Swift 并且对它很熟悉;我已经学习了几个月的 iOS 教程,所以我并不完全处于黑暗中。

我正在尝试为我自己的应用程序复制 Android Gmail 应用程序的行为。基本上,在主演示中,左侧有一个细的垂直图标条,右侧有一个详细视图。但是,当您从左向右滑动详细视图时,图标条将变成一个完整的滑出式面板。最好的功能(恕我直言)是,当您滑动时,图标条会随着滑出面板淡入而淡出。

我已经尝试了 SWRevealViewController,它让我走到了一半。我可以在详细视图旁边获得图标条。但是,1)当您从右向左滑动以取消显示滑出式面板时,它将允许您完全滑动到左边缘而不是停在后视图显示宽度和 2)我不知道如何用滑出面板替换图标条。

所以,我想我会构建自己的容器控制器,既因为我认为我正在尝试做的只是尴尬到让 SWRevealController 变丑(也许不是?),也因为我想学习我的东西能够在 iOS 中的 Android 中轻松完成(并非贬义)。(另外,这不是应用程序的根视图,所以我认为拆分容器不适用)。

我被卡住的地方是我认为我可以用几个谷歌解决的问题。在容器控制器中,您可以调整包含的视图控制器的视图大小吗?如果有,什么时候?如何?

我在想这个错误的方式吗?有没有一种生命周期方法可以让子视图控制器根据其父级的大小(框架)来调整自己的大小?我找不到这样的例子,但我看到了一些关于使用 viewWillAppear 来调整视图大小的参考资料。那是关键吗?

我希望有人能告诉我布局机制在 iOS 中是如何工作的。或者,如果可能的话,如何让 SWRevealViewController 做我正在寻找的东西(特别是防止从右到左的滑动遮挡图标条。

这是一个特殊需求的应用程序,所以我认为有一些经过深思熟虑的布局是必要的,也许可以为典型用户以另一种方式完成。

哦,Swift 代码会更好,但如果有必要,我至少可以阅读 Objective-C。

谢谢!彼得

4

0 回答 0