首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIActivityIndicatorView in a UITableViewController

UIActivityIndicatorView in a UITableViewController
EN

Stack Overflow用户
提问于 2015-01-30 23:39:08
回答 1查看 1.6K关注 0票数 1

我目前正在更新我的一个应用程序。它从internet获取信息,并使用networkActivityIndicatorVisible在状态栏中显示和隐藏活动指示符。我们收到的一个抱怨是,它太小了,用户不知道他们的设备正在获取信息。所以我的想法是利用旋转的活动轮在我的视野中间。如果尝试从项中拖动一个项,它会将其放置在单元格中,或者放在我创建的标头UIView中。这不是我想要的,所以我用编程的方式制作了它。

在头文件中。

代码语言:javascript
复制
@property (strong, nonatomic) UIActivityIndicatorView *mySpinner;

在实现文件中。

代码语言:javascript
复制
_mySpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
_mySpinner.color = [UIColor blackColor];
_mySpinner.translatesAutoresizingMaskIntoConstraints = NO;
_mySpinner.hidesWhenStopped = YES;

然后,通过以下操作,我将旋转轮添加到我的视图中。同时也限制了我。

代码语言:javascript
复制
[self.view addSubview:_mySpinner];

[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_mySpinner
                                                      attribute:NSLayoutAttributeCenterX
                                                      relatedBy:NSLayoutRelationEqual
                                                         toItem:self.view
                                                      attribute:NSLayoutAttributeCenterX
                                                     multiplier:1
                                                       constant:0]];
[self.view addConstraint:[NSLayoutConstraint constraintWithItem:_mySpinner
                                                      attribute:NSLayoutAttributeCenterY
                                                      relatedBy:NSLayoutRelationEqual
                                                         toItem:self.view
                                                      attribute:NSLayoutAttributeCenterY
                                                     multiplier:0.75
                                                       constant:0]];
[_mySpinner startAnimating];

我运行了密码,效果很好。即使我旋转旋转旋涡器也是我想要的。然而,这正是问题所在,当我滚动表视图时,旋转器就会随之前进!

我知道这是因为我将旋转器添加到self.view中,并使用self.view创建了所有约束。对于UITableViewController,表视图是self.view。

该应用程序有几个表视图,它们都很长,很多都带有自定义单元格。我并不是真的想重新设计所有的东西,但是有没有人知道UITableViewController中是否有一个超级视图,我可以把我的约束放在上面呢?我试过几件事,但都没有用。很抱歉提出这么长的问题,但我希望有人能帮忙。感谢您的阅读!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-31 06:21:23

解决方案只是访问应用程序的窗口,然后为其附加活动指示符,如下

代码语言:javascript
复制
 UIWindow *frontWindow = [[UIApplication sharedApplication] keyWindow];
    self.activity.center=frontWindow.center;

    [frontWindow addSubview:self.activity];
    [self.activity startAnimating];

链接到代码https://github.com/murali9/ActvityonTableview

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28246412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档