活动指标不以横向模式为中心

时间:2015-05-26 06:20:24

标签: ios objective-c xcode autolayout uiactivityindicatorview

我正在尝试在表格视图的顶部添加一个活动指示器,使其以纵向和横向模式显示在屏幕中央。

活动指示器位于视图内,该视图是主视图的子视图。表视图包含在主视图中的视图容器中。

当我单击“添加缺失约束”时,指示器将获得中心Y对齐约束和水平空间(141)约束。正如预期的那样,这使得在纵向模式下看起来很好,但在横向模式下,活动指示器显示在左侧而不是水平居中。

我试图将水平空间约束更改为中心X对齐约束,但这似乎不会使情况更好。

有什么建议吗?

enter image description here

以下是关闭:

enter image description here

7 个答案:

答案 0 :(得分:4)

- >首先,添加Spinner视图(如屏幕截图中的黄色视图)

选择它并设置约束,如

enter image description here

将其固定到所有四条边

- >其次,添加活动指标。

选择它并设置约束,如

enter image description here

中心X和中心Y = 0

如果有错位视图的警告,请选择“解决自动布局问题”!

最后,约束看起来像这样

enter image description here

答案 1 :(得分:2)

如果您想以编程方式执行此操作,请在控制器类中执行此操作:

self.activityIndicatorObject.center = self.view.center; 

已编辑:

可能你可以试试这个:

self.activityIndicatorObject.center = CGPointMake([UIScreen mainScreen].bounds.size.width/2.0, [UIScreen mainScreen].bounds.size.height/2.0);

答案 2 :(得分:1)

SWIFT 3.2

试试这个

self.activityIndicator.center = CGPoint(x:self.view.bounds.size.width/2.0,y: self.view.bounds.size.height/2.0);

activityIndicator.autoresizingMask = (UIViewAutoresizing(rawValue: UIViewAutoresizing.RawValue(UInt8(UIViewAutoresizing.flexibleRightMargin.rawValue) | UInt8(UIViewAutoresizing.flexibleLeftMargin.rawValue) | UInt8(UIViewAutoresizing.flexibleBottomMargin.rawValue) | UInt8(UIViewAutoresizing.flexibleTopMargin.rawValue))))

答案 3 :(得分:0)

看看你的constraints。您的微调器视图似乎需要center x alignment

修改

为了保存一些令人困惑的约束问题,我建议你以编程方式放置微调器。您可以在加载时自动禁用您的桌面视图,并将userInteractionEnabled设置为NO

// Set up your spinner
UIActivityIndicatorView * spinner = [[UIActivityIndicatorView alloc] init];
[spinner setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleWhiteLarge];
[spinner setHidesWhenStopped:YES];
[spinner setCenter:self.view.center];
[spinner startAnimating];
[self.view addSubview:spinner];

// disable your tableView
tableView.userInteractionEnabled = NO;

答案 4 :(得分:0)

我已经通过故事板添加了活动指标并指定了

  • 超级视图的顶层空间
  • center x alignment

它显示了纵向和横向模式的屏幕中央的指示器。请试试这个。希望对你有效。感谢

答案 5 :(得分:0)

Your constraints are having problem, i have done the same thing in sample,
please take a look and try to set constraints accordingly, 
it would fix the problem. I have attached a snapshot for constraints.

enter image description here

仅代码限制问题中没有其他问题。祝你好运。

答案 6 :(得分:0)

@Stine我不知道你得到了答案。但是在故事板中尝试以下内容。就我而言,它是有效的。

在情节提要中设置活动指示器视图的垂直和水平对齐方式。在该集之后,Add New Constraints中的宽度和高度约束。

enter image description here

之后

enter image description here

以下是纵向和横向模式的最终结果

肖像:

enter image description here

对于风景:

enter image description here