【问题标题】:What is the purpose of UIView's autoresizingMask?UIView 的 autoresizingMask 的目的是什么?
【发布时间】:2011-11-12 08:09:07
【问题描述】:

在阅读了关于 SO 和 developer.apple.comUIViewautoresizingMask 之后,我仍然不清楚其目的是什么。什么情况下需要设置这个属性?

【问题讨论】:

    标签: ios uiview autoresizingmask


    【解决方案1】:

    目的是当 UIView 由于调整大小、方向变化、在表格视图单元格中显示编辑控件等而发生变化时,UIView 会正确移动和调整大小。

    【讨论】:

      【解决方案2】:

      是的,如果您不想手动调整视图大小,通常需要设置它。请注意,它主要用于子视图(即那些不占据整个屏幕的视图)而不是应用程序的主视图。

      如果出现以下情况,视图通常可能需要调整大小:

      • 设备旋转
      • 一个额外的视图(例如,一个广告)被添加到视图中,因此现有子视图的可用空间更少。

      例如,假设您有一个带有两个按钮的视图,一个在左上角,另一个在右上角。当视图从纵向切换到横向时,为了使按钮变宽,您需要将 FlexibleLeftMargin 设置为右侧按钮,将 FlexibleRightMargin 设置为左​​侧按钮。

      编辑:如果您在设备旋转或添加新子视图时看到奇怪的孔或重叠,则首先要查看 autoresizingMask。通常,为子视图正确设置这些掩码可以让您在两个方向都获得漂亮的视图,而无需手动布置子视图 - 但通常需要一些试验。

      Edit2:(因为这仍在收集赞成票)自动调整蒙版现在大部分被“自动布局”取代,这允许对视图的大小和位置进行更灵活的约束。话虽如此, translatesAutoresizingMaskIntoConstraints 仍然偶尔对动态添加的视图有用。

      【讨论】:

      • 不要忘记双高的“通话中”状态栏!您可以通过录制语音备忘录并切换到您的应用来轻松复制这一点。
      猜你喜欢
      • 1970-01-01
      • 2011-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-03-05
      • 1970-01-01
      • 2010-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多