ios - 与 xib 中隐藏的导航栏相关的自动布局无效

标签 ios objective-c

我正在处理与 xib 文件中的导航栏相关的问题。问题如下:

我添加了一个 xib 文件,并手动在其上放置了一个 UINavigationBar,并使用约束使其停留在屏幕顶部。然后我在它下面添加一个 UILabel ,并且还使用约束使它正好位于导航栏下方。也就是说,让 label.top 等于 navigationbar.bottom。然后我需要添加一个全屏功能。我添加了一个按钮,按下它后,我通过如下代码隐藏了导航栏:

self.navbar.hidden = YES;

导航栏是隐藏的,但标签不知何故仍保持其位置,并没有移动到屏幕顶部,这是我期望看到的。

那么问题是:

  1. 这个效果正常吗?因为现在导航栏已隐藏,所以约束应该使标签移动到顶部。

  2. 正常/不正常应该怎么做才能达到我想要的效果。

谢谢大家!任何想法都可以提供帮助!

请原谅我的英语不好,因为它不是我的母语。

最佳答案

因为你只是添加了一个导航栏,而不是一个导航 Controller ,所以隐藏是行不通的。你必须在你的导航栏上设置高度限制,并在你的 Controller 中设置它的导出,然后在你想隐藏栏的地方你必须将你的 constraint.constant 设置为零。

关于ios - 与 xib 中隐藏的导航栏相关的自动布局无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141343/

相关文章:

objective-c - 为什么将任何选择器发送到 Nil 对象什么都不做,但将 "invalid"选择器发送到任何 NSObject 会引发异常?

ios - 通用链接 - Cordova iOS 应用程序

ios - TextInpout 自动更正在 ios 中显示相反 [react native]

ios - 网络请求后 SwiftUI 更新 Elements.count

Objective-C, Storyboard : instantiateViewControllerWithIdentifier returns nil

iphone - 在自定义 UITableViewCell 中访问 UITextField

ios - 在 UITableView 的自定义单元格中引用 UITextFields

ios - 一个 View ios 中的 2 个 TableView

ios - 选项的条件绑定(bind)

objective-c - NSfileManager 类中的release方法有什么作用?