ios - 如何从扩展中的函数创建 UIActivityIndi​​cator 计算属性

标签 ios swift uiactivityindicatorview uiactivity

我已经设法创建了一个 UIActivityIndi​​catorView 扩展,用于将其设置为动画 以启动和停止。但是,我想通过使用 getset 使用 bool 类型的 computed property 来让它变得更好。我试过但想不出办法。我怎么能重构这个。

extension UIActivityIndicatorView {
    func loadingIndicator(_ isLoading: Bool) {
        if isLoading {
            self.startAnimating()
        } else {
            self.stopAnimating()
        }
    }
}

最佳答案

您可以使用 UIActivityIndi​​catorViewisAnimating 属性作为 isLoading 的支持值。您只需要确保您在 setter 中正确控制开始/停止动画,这将设置 isAnimating,因此 isLoading 也将正确设置。

extension UIActivityIndicatorView {
    var isLoading:Bool {
        get {
            return isAnimating
        } set {
            if newValue {
                self.startAnimating()
            } else {
                self.stopAnimating()
            }
        }
    }
}

关于ios - 如何从扩展中的函数创建 UIActivityIndi​​cator 计算属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53266526/

相关文章:

ios - 白标应用程序和 App Store 审查指南

swift - UIActivityIndi​​cator 需要几秒钟才能被关闭

iphone - UITableViewCell 中的 UIActivityIndi​​catorView 不会停止旋转

iOS:如何让 UIWebView 加载非移动网站?

ios - 如何从 UI cellView xib 调用 MainStoryBoard 的 View controller

swift - IAP 的 NSCoding 或 Userdefaults

ios - 删除 Sprite 的动画

ios - RestKit ActivityIndi​​cator 用于多个请求

ios - 将对象添加到NSMutableArray时无法识别的选择器

ios - UIImage 未在 Unwind Segue 上更新