相对于父视图的底部定位 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?的主要内容,如果未能解决你的问题,请参考以下文章