2016-09-22 3 views
1

У меня есть пользовательский текстовый вид с круглым радиусом. После тестирования в инструменте я нахожу, что для инициализации его требуется 53 мс (или это?). Я думал, что 53 мс немного для одного компонента пользовательского интерфейса, поэтому мне было интересно, есть ли более быстрый способ сделать это? Ниже представлен мой инструмент и код 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() 
    } 
} 

timeProfile

+0

Сколько вы видите, не задав свойства слоя? – Injectios

ответ

1

я сделать некоторые исследования о том, что:

начальное время 83 миллисекунд.

enter image description here

Во-первых, если мы делаем некоторые вычисления для слоя это сэкономит вам 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 миллисекунд.

enter image description here

Так пусть просто проверить регулярные UITextView и мы видим, что 82 секунд

enter image description here

Заключение нормально инициализации время для элемента пользовательского интерфейса.

Смежные вопросы