相对于父视图的底部定位 UIView?

Posted

技术标签:

【中文标题】相对于父视图的底部定位 UIView?【英文标题】:Position a UIView relative to the bottom of the parent view? 【发布时间】: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 检查文档中的正确代码。 【参考方案1】:

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

【讨论】:

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

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

【讨论】:

【参考方案3】:

这应该可以解决问题

public override void ViewDidLoad()

    base.ViewDidLoad();
    bottomButton.Alignment = UIStackViewAlignment.Bottom;          

【讨论】:

以上是关于相对于父视图的底部定位 UIView?的主要内容,如果未能解决你的问题,请参考以下文章

为啥当我相对于父视图的底部进行约束时,它是从父视图的顶部操作的?现在是对的吗?

是否可以将 UIView 的顶部固定到导航栏的底部?

如何确定鼠标相对于父元素的悬停位置

找出子视图相对于视图的位置

将自定义 UIView 锚定到相对于屏幕大小的屏幕底部

在 UIView 中定位文本