【问题标题】:UIViewAutoresizingMask for pinning a button to bottom right cornerUIView AutoresizingMask 用于将按钮固定到右下角
【发布时间】: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。

标签: objective-c ios uiview


【解决方案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;

检查它是否对我有用。

【讨论】:

  • 调整大小标志用于保持视图居中。
猜你喜欢
  • 2017-08-24
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
  • 2018-12-06
相关资源
最近更新 更多