iOS中心视图

时间:2013-11-08 15:34:20

标签: ios objective-c

我有一个类,它将UIActivityIndi​​cator添加到指定的视图中。我想在给定视图中居中UIActivityIndi​​cator。

我觉得这个工作正常,因为UIActivityIndi​​cator在屏幕上的时间不长。现在我看到当我激活屏幕时,UIActivityIndi​​cator不再居中。

我这样做的方式是:

CGRect frame = CGRectMake((view.frame.size.width / 2 - self.activityIndicator.frame.size.width / 2),
                          (view.frame.size.height / 2 - self.activityIndicator.frame.size.height / 2),
                          self.activityIndicator.frame.size.width,
                          self.activityIndicator.frame.size.height
                         );

然后会产生更好的结果:

self.activityIndicator.center = view.center;

我是否可以通过某种方式添加约束,使其即使在旋转时仍保持在中间位置。我知道这可以在IB中完成,但在代码中我不知道?

1 个答案:

答案 0 :(得分:3)

您的代码,加上:

self.activityIndicator.autoresizingMask = (UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleBottomMargin);