我创建了一个带有上方按钮项的导航控制器,因此我现在在屏幕顶部有一个导航栏,其中包含一个"注销"按钮:
navigationItem.leftBarButtonItem = UIBarButtonItem(title: "logout", style: .plain, target: self, action: #selector(handleLogout))
我希望能够将代码中的其他对象锚定到此导航栏的底部。 例如,我想添加一个搜索栏 topAnchor 是此导航字段的底部,其中包含我的"注销"按钮
Cromanelli 是正确的。不能锚定到上部 UINavigation 项的底部。我发现的唯一修复是上导航栏的底部始终(无论iPhone版本如何(与视图内置安全视图的顶部相距-45。可以通过执行以下操作来访问它:
item.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: -45(.isActive = true
这将与将项目锚定到上部导航栏的底部相同。
根据Apple的文档 https://developer.apple.com/documentation/uikit/uinavigationcontroller UINavigationController是一个容器视图控制器,用于管理导航界面中的一个或多个子视图控制器。您不能在UINavigationBar的底部附加视图,您可以做的是在UIViewController的视图顶部添加视图。
如果我理解正确,您需要在导航栏的控件中放置一个搜索栏。
脚本
- 转到情节提要,然后按
command-shift-L
打开库。 - 然后键入搜索栏并将其放置在视图控制器中。
- 之后,您可以设置搜索栏的限制。情况 0 从顶部开始,因此搜索固定到底部导航栏。
我对你已经做的事情没有足够的背景,所以我希望这有所帮助。