【问题标题】:Position a UIView relative to the bottom of the parent view?相对于父视图的底部定位 UIView?
【发布时间】:2012-01-05 16:35:09
【问题描述】:

如何将 UIView 对齐到父级的底部,以便框架的 Y 坐标相对于屏幕底部而不是顶部?

这相当于在 HTML 中设置 .bottom 属性。

这是因为我想确保无论父级的高度如何,我的视图始终位于窗口底部。

【问题讨论】:

  • 如果您知道子视图的尺寸(例如 768、50),这非常简单。例如,在您的超级视图中,在viewDidLoad 方法中,您可以添加您的子视图,如下所示:[superView addSubview:subView]。您的子视图实例化如下:initWithFrame:CGRectMake(0, superview.bounds.height - 50, 768, 50)]。 P.S 检查文档中的正确代码。

标签: iphone ios layout uiview ios4


【解决方案1】:

通过设置视图的frame 属性初始定位视图后,调整其autoresizingMask 以包含UIViewAutoresizingFlexibleTopMargin。这将使其固定在其超级视图的底部。

【讨论】:

  • 几乎成功了,必须将视图的框架 Y 坐标设置为负数才能从底部向上拉视图。
  • 非常简单,在 iOS 8 中仍然可以完美运行。
  • 在 iOS 8 中,您可以使用自动布局,这是表达这种需求的更好方式,但超出了此答案的范围。 :)
【解决方案2】:

您可以在 XIB 或 Storyboard 编辑器的 Sizing 窗格中设置自动调整掩码值。

【讨论】:

    【解决方案3】:

    这应该可以解决问题

    public override void ViewDidLoad()
    {
        base.ViewDidLoad();
        bottomButton.Alignment = UIStackViewAlignment.Bottom;          
    }
    

    【讨论】:

      猜你喜欢
      • 2013-07-08
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多