UINavigationBar左边距

dea*_*rne 3 iphone uinavigationbar ios

在iPhone 6+上,当你添加自定义左栏按钮项时,看起来UINavigationBars的左边距为20pt.在其他设备上它是16pt.

这很好,在更宽的屏幕设备上可能有助于让拇指触及该按钮:)

我正在尝试将我的UI调整到下面(这是菜单项的表格视图)并且它证明是棘手的.

有没有办法以编程方式获得该边距,因此我可以在我的UI中的其他地方使用该值.

这样的事情是理想的:

CGFloat padding = self.navigationBar.leftMargin;
Run Code Online (Sandbox Code Playgroud)

但显然不存在:(

有什么建议?

Leo*_*ica 5

iOS 8引入了布局边距的概念.每个视图(UIView及其子类)都包含一个layoutMargins属性,它将为您提供您想要的内容.

此外,您还可以使用layoutMarginsDidChange收听保证金的更改来对保证金变化做出反应.此方法也在初始布局后调用,因此您可以在此处做出反应并将视图适当地布局到系统提供的边距.这是首选,因为根据设备的不同,当尺寸等级发生变化时,边距可能会发生变化(例如,iPhone 6 Plus旋转).这样,您的视图将始终使用正确的边距显示.

请阅读此处以获取有关布局边距的更多信息.

  • 不要使用导航栏的布局边距。相反,倾听你自己观点的边缘。 (2认同)
  • 表视图的每个单元格的左边距为 20 或 16,具体取决于设备类型。 (2认同)
  • 当然,细胞的边缘!卫生署!那是完美的,谢谢! (2认同)