【问题标题】:Custom TextView blocking main thread自定义TextView阻塞主线程
【发布时间】:2016-09-22 07:47:45
【问题描述】:

我有一个圆角半径的自定义文本视图。在仪器中测试后,我发现初始化它需要 53 毫秒(或者是吗?)。我认为 53 毫秒对于一个 UI 组件来说有点多,所以我想知道是否有更快的方法来做到这一点?以下是我的仪器输出和 customTextView 代码。

import UIKit

class CustomTextView: UITextView {

    private func initialize() {
        self.layer.borderColor = UIColor(red: 225.0/255, green: 225.0/255, blue: 225.0/255, alpha: 1).CGColor
        self.layer.borderWidth = 1.0
        self.layer.cornerRadius = 5
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        initialize()
    }
}

【问题讨论】:

  • 不设置图层属性你能看到多少?

标签: ios swift xcode


【解决方案1】:

我对此做了一些调查:

初始时间为 83 毫秒。

首先,如果我们对层进行一些计算,它将为您节省 1 毫秒,因此是 82 毫秒。

 private func initialize() {
        self.layer.borderColor = UIColor(red: 0.88, green: 0.88, blue: 0.88, alpha: 1).CGColor
        self.layer.borderWidth = 1.0
        self.layer.cornerRadius = 5
    }

禁用initialize() 方法后为75 毫秒。

所以让我们测试常规的UITextView,我们看到它是 82 秒

结论是UI元素的正常初始化时间。

【讨论】:

    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多