【问题标题】:List of default iOS control heights and widths for each device?每个设备的默认 iOS 控件高度和宽度列表?
【发布时间】:2017-03-05 20:53:41
【问题描述】:

例如:在故事板中,标签默认高度为 44。单独的导航栏默认宽度为 375,高度为 44。然而,高度实际上在设备上呈现为 64。这些是无论设备如何,值都相同?例如,即使在 iPad Pro 上,导航栏仍然是 64 吗?任何给定控件是否有特定的纵横比来确定所有设备上的高度/宽度?​​

这种信息在手动设置某些东西(例如启动屏幕故事板)的约束时非常有用。

我的实际问题是:我在哪里可以找到对 iOS 设备可用控件的默认高度/宽度或纵横比值的有用参考。

【问题讨论】:

  • 导航栏总是44。64之和是导航栏(44)+状态栏(20)。是的,即使是 ipad pro 也一样
  • 是的,@TungFam。正在寻找关于所有 UI 控件的此类信息。

标签: ios storyboard


【解决方案1】:

在 iOS 中只有少数东西具有 Intrinsic Size。

UILabel 由文本字符串、字体、字体大小和粗细决定。

UIImageView 具有与图像大小相对应的固有内容大小。

控件可能包含赋予它们大小的文本或图像。内在大小由文本和图像决定。例如 UIButton 的大小,它由图像、背景图像或文本或 UIsegmentedControl 决定,我认为它由段数和文本大小决定。

UIStatusbar、UINavigationBar、UITabbar 等由系统修复。但我不想依赖可能改变的固定值。这是一些常见的系统定义元素大小的链接。 http://www.idev101.com/code/User_Interface/sizes.html

您也可以在 Apple 设计指南中找到此内容。

条形图具有固定的系统大小。其他一切都是由内容决定的。希望这可以帮助。

【讨论】:

  • 我明白,如果我改变字体,添加图像等,当然高度和宽度会改变。但是,如果我将项目拖到情节提要中,并且不对它们进行任何更改,则会出现默认大小。而且,系统设置的项目仍然具有默认大小,如导航栏 (44) 和状态栏 (20) 所示。我确信我可以通过实验确定这些事情。我只是希望提供参考,也许是已经做过实验的人;-)
  • 那么您想知道带有标准字体大小的文本“label”的 uilabel 的默认大小吗?
  • 当然!将标签拖到情节提要上,并检查 Size Inspector:width = 42,height = 21。当然,宽度基于“Label”文本内容。我会更关心 21 的默认高度。假设我不需要更改 17 号的系统字体,我可以使用该高度来计算我的屏幕排列。如果它在更大的设备上没有改变,这可能有助于我确定我需要如何设置约束。
  • 你为什么要那样做。为什么不检查负载或只检查自动布局?假设苹果在下一个版本中更改了默认字体大小,而您的所有计算都是错误的。如果字体超长,你想让字体大小适合怎么办?我的观点是你不能依靠这样的测量来布置你的用户界面。您可以在布局子视图或 viewDidLayoutSubviews 上获取您的 ui 元素,但不依赖于预先测量的大小来布局它。您还必须事先使用适当的文本测量所有用户界面。听起来效率很低。
  • 您不能为启动屏幕故事板编写代码,所以我不知道有什么好处。您需要使用弹簧和支柱或 AutoLayout 来定位和调整视图的大小。
【解决方案2】:

我在哪里可以找到对 iOS 设备可用控件的默认高度/宽度或纵横比值的有用参考。

关于 iOS 用户界面应该是什么样子的最有用的参考是iOS Human Interface Guidelines。虽然它没有您要查找的默认尺寸列表,但确实有一个 Resources 部分,其中包含用于 Photoshop 或 Sketch 的“智能对象”包,您可以使用使用标准尺寸的控件快速模拟 UI 设计,而不必过多担心具体尺寸。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-08
    • 1970-01-01
    • 2016-09-29
    • 1970-01-01
    • 2011-08-17
    • 2011-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多