gpt4 book ai didi

ios - UIView 从顶部添加填充

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:42 25 4
gpt4 key购买 nike

我正在向嵌入在 UINavigationController 中的 UIPageViewController 添加自定义 View ,因此我需要从 UIPageViewController 容器内的每个 subview 的顶部添加一个 20.0 的填充,以便它们整齐地坐在下面导航栏。

我目前正在使用 UIView 的 layoutMargins 属性,在 View 加载到内存之前设置新的边缘插入,这是我创建新 View 的辅助方法:

private func instanciateViewController(pageType: ViewType) -> UIViewController? {

var pageView : UIViewController?

switch(pageType)
{
case .SHOP :
pageView = storyboard!.instantiateViewControllerWithIdentifier("ShopFloorViewController")
break
case .TASKS :
pageView = storyboard!.instantiateViewControllerWithIdentifier("TaskListTableViewController")
break
case .PERSONNEL :
pageView = storyboard!.instantiateViewControllerWithIdentifier("PersonnelListViewController")
break
}
pageView!.view.layoutMargins = UIEdgeInsetsMake(20, 0, 0, 0)
return pageView
}

行:pageView!.view.layoutMargins = UIEdgeInsetsMake(50, 0, 0, 0) 为加载的第一个屏幕提供正确的插图,但是场景中的任何交互都会导致 View 在没有插图的情况下重新渲染。

如何使我的 UIPageViewController 内的 subview 上的插图永久化?

最佳答案

试试这个(我没有针对这个特定案例进行测试,但很有意义)。在 UIPageViewController 中覆盖 viewWillLayoutSubviews。此方法的默认实现不执行任何操作,因此只需在其中编写您自己的代码即可。在方法内部,遍历 subview 并调整边缘插入。希望这应该有效。

关于ios - UIView 从顶部添加填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35637003/

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