【问题标题】:Set view position to top right programmatically in cocoa touch在可可触摸中以编程方式将视图位置设置为右上角
【发布时间】:2011-12-14 15:44:44
【问题描述】:

我需要确保一个视图 A(大小:200x200)始终与第二个视图 B(全屏大小)内的右上角对齐。我想确保无论设备方向如何,视图 A 都留在那个地方。事实是,在使用界面构建器定位视图时,我对此没有任何问题,但我需要以编程方式构建它。我想我应该使用一些自动调整大小设置,你能告诉我哪个应该将视图对齐到其父视图的右上角吗?

【问题讨论】:

标签: objective-c ios cocoa-touch cocoa


【解决方案1】:
UIView parentView  //your full screen view
UIView view //the 200x200 view

[parentView addSubview:view];
CGRect frame = view.frame;

//align on top right
CGFloat xPosition = CGRectGetWidth(parentView.frame) - CGRectGetWidth(frame);
frame.origin = CGPointMake(ceil(xPosition), 0.0);
view.frame = frame;

//autoresizing so it stays at top right (flexible left and flexible bottom margin)
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin

这会将视图定位在右上角并设置自动调整大小的蒙版,使其保持在该位置。

【讨论】:

  • 谢谢,这对我很有用。只是对上面最后一行的修改,应该是“view.autoresizingMask = ...”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 1970-01-01
  • 2016-06-15
  • 1970-01-01
相关资源
最近更新 更多