UIView AutoresizingMask 用于将按钮固定到右下角
Posted
技术标签:
【中文标题】UIView AutoresizingMask 用于将按钮固定到右下角【英文标题】:UIViewAutoresizingMask for pinning a button to bottom right corner 【发布时间】:2013-01-08 10:24:50 【问题描述】:我想将 UIButton 固定到 iPhone 屏幕的右下角。 3.5英寸和4英寸屏幕。
这是我写的代码。但在 iPhone4 和 iPhone5 中,按钮始终保持在 x=265,y=361 上。
UIImage* plusImage = [UIImage imageNamed:@"Plus.png"];
UIButton* plusButton = [UIButton buttonWithType:UIButtonTypeCustom];
[plusButton setImage:plusImage forState:UIControlStateNormal];
[plusButton setFrame:CGRectMake(265, 361, plusImage.size.width, plusImage.size.height)];
plusButton.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin;
[self.view addSubview:plusButton];
我已将自动调整大小的蒙版设置为采用灵活的顶部和左侧边距。但它不起作用。我错过了什么?请帮忙。
【问题讨论】:
你传递了静态 x 和 y 值?所以它在你经过时需要框架。 U 必须通过相对的 x & y。 【参考方案1】:UIImage* plusImage = [UIImage imageNamed:@"Plus.png"];
UIButton* plusButton = [UIButton buttonWithType:UIButtonTypeCustom];
[plusButton setImage:plusImage forState:UIControlStateNormal];
CGSize viewSize = self.view.frame.size;
[plusButton setFrame:CGRectMake(viewSize.width - plusImageSize.width, viewSize.height - plusImageSize.height, plusImage.size.width, plusImage.size.height)];
plusButton.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin;
[self.view addSubview:plusButton];
试试吧。
【讨论】:
感谢您的代码。我看到您已经手动计算了原点 x 和 y。那么 Autoresizingmasks 有什么意义呢? 自动调整掩码的目的是通知视图一旦调整其父视图的大小,它应该在哪里。因为您是在自动创建视图并调整大小(以适应 Retina 3.5" 或 Retina 4")之后添加视图,所以它实际上并没有被使用。我把它放在那里是因为它是正确的。【参考方案2】:试试plusButton.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin
【讨论】:
如果您想使用 autoResizingMask,这可能会对您有所帮助。 plusButton.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin【参考方案3】:我已经使用了所有这些掩码,如下所示
plusButton.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin;
检查它是否对我有用。
【讨论】:
调整大小标志用于保持视图居中。以上是关于UIView AutoresizingMask 用于将按钮固定到右下角的主要内容,如果未能解决你的问题,请参考以下文章
关于UIView的autoresizingMask属性的研究转
ios开发之--关于UIView的autoresizingMask属性的研究