使用具有动态高度的UIScrollView时,在屏幕上居中

时间:2016-11-22 13:07:30

标签: ios swift uiscrollview

如果标题不够清晰,请查看我的情况。

我有一个像这样的视图控制器: self.view> scrollView> contentView(UIView)>垂直堆叠的多个视图,一些包含图像,另一些包含各种高度的集合视图等。

正如您所看到的,这可以构成一个非常高的scrollView,其高度不是静态的。

我想要做的是在用户的屏幕中间显示UIActivityIndi​​catorView,无论它们在scrollView中的哪个位置。我一直在scrollView的中心(与电话屏幕的中心不同)继续使用activityIndi​​cator,或者如果用户一直滚动,它最终会出现在屏幕的中心位置在顶部,当然我不能假设当我需要显示指示符时用户将会在哪里。

谢谢!

3 个答案:

答案 0 :(得分:0)

最好将activityindicator作为self.view中心,如下所示:

   var ac = UIActivityIndicator()
ac.frame = self.view.frame

答案 1 :(得分:0)

您可以使用主屏幕框架;

activityIndicator.frame = (([UIScreen mainScreen].bounds.size.width)/2 , ([UIScreen mainScreen].bounds.size.height)/2 , 30, 30);

答案 2 :(得分:0)

您可以在UIActivityIndicator上添加self.view。 (由UIViewController维护的视图,您要在其中显示活动指示符)