首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法显示UIActivityIndicatorView

无法显示UIActivityIndicatorView
EN

Stack Overflow用户
提问于 2021-07-11 12:24:53
回答 1查看 39关注 0票数 0

我遇到一个问题。我使用下面的代码来显示UIActivityIndicatorView。我的要求是能够创建一个UIActivityIndicatorView并在我单击带有标记1的按钮时显示它,如果我单击其他按钮,该UIActivityIndicatorView将从超级视图中删除。

代码语言:javascript
复制
class ViewController: UIViewController {
 lazy var acLoad:(UIActivityIndicatorView) = {
        let myActivityIndicator = UIActivityIndicatorView(style: UIActivityIndicatorView.Style.white)
        myActivityIndicator.center = view.center
        myActivityIndicator.hidesWhenStopped = true
        myActivityIndicator.startAnimating()
        return myActivityIndicator
    }()
    //more code
    @objc func btnAction(sender: UIButton){
        switch sender.tag {
        case 1:
            print("created")
            view.addSubview(acLoad)
            acLoad.startAnimating()
        default:
            print("removed")
            acLoad.stopAnimating()
            acLoad.removeFromSuperview()
        }
    }
}

上面的不起作用,我可以在点击后得到打印日志,但是UIActivityIndicatorView没有显示,你有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2021-07-11 12:42:45

看起来你的UIActivityIndicatorView可能放错了地方(错误的帧值)-所以你看不到它。

代码语言:javascript
复制
print("created")
view.addSubview(acLoad)
acLoad.startAnimating()

// Add this line in your button tap code
// It will tell you where it is placed inside your view
print(acLoad.frame)

如果你发现它的框架不在你想要的地方,只需修复你的布局代码,它就会在你期望的地方。

另一个注意事项- myActivityIndicator.hidesWhenStopped = true使它在stopAnimating()调用时自动隐藏。所以你只能添加一次,而不是每次都删除-添加。

还要检查一下你的view.backgroundColoracLoad风格。

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

https://stackoverflow.com/questions/68333201

复制
相关文章

相似问题

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