我有一个项目,其中在整个应用程序中使用自定义高度导航栏,因此它是 62 像素而不是 44 像素高。我正在尝试使用情节提要编辑器(界面构建器)构建和布局我的视图,尽管在视图控制器选项下的模拟指标下使用设置为导航栏的顶部栏属性时,这变成了默认的 44 像素而不是自定义的我想要的高度导航栏(64px)。
这样,所有视图工作区都以不同的大小显示,我总是需要计算什么会超出或不会超出。
有什么方法可以优雅地使用模拟指标和自定义高度导航栏子类,同时保持我必须在剩余空间上工作的确切高度?
我有一个项目,其中在整个应用程序中使用自定义高度导航栏,因此它是 62 像素而不是 44 像素高。我正在尝试使用情节提要编辑器(界面构建器)构建和布局我的视图,尽管在视图控制器选项下的模拟指标下使用设置为导航栏的顶部栏属性时,这变成了默认的 44 像素而不是自定义的我想要的高度导航栏(64px)。
这样,所有视图工作区都以不同的大小显示,我总是需要计算什么会超出或不会超出。
有什么方法可以优雅地使用模拟指标和自定义高度导航栏子类,同时保持我必须在剩余空间上工作的确切高度?
无法通过 Xcode 将 Simulated Metrics 更改为自定义值。一种可能性是设计自定义导航栏并将其复制到任何地方而不是导航,但是不再模拟它。或者你可以通过进入
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Xcode/PrivatePlugIns/IDEInterfaceBuilderCocoaTouchIntegration.ideplugin/Contents/Resources
并打开CocoaTouchConstraints.plist
在此文件中,您可以将 的值设置NavigationBar
为所需的值。因此,如果您想要一个 60 高的导航栏,只需将最大和最小高度设置为 60:
<key>NavigationBar</key>
<dict>
<key>MaximumSize</key>
<string>{10000, 60}</string>
<key>MinimumSize</key>
<string>{0, 60}</string>
</dict>
保存后,您需要重新启动 Xcode,您的 NavigationBar 将具有所需的高度。
恐怕你不能真正做到这一点,如果你想直接在界面构建中拥有类似的行为和正确的自动布局和约束,为你的自定义导航栏类添加一个具有正确指标的简单视图,(它只会工作很好,因为导航栏继承自 UIView)只需添加视图,设置自定义类,并为导航栏和视图的顶部对象添加约束。