私はもともとthis questionと尋ねました。私は、私のカスタムビューの読み込み時間が遅い理由は、複数のビューを重ね合わせて表示するか、おそらくいくつかの理由で複数のビューをレイヤー化しているためだと考えていた。recursion problem。しかし、何が変わるかを調べるためにコードがさらに増えた後、UITextView
が存在するかどうかが分かりました。私の問題の明らかな原因は最初の質問で予想していたものと大きく異なるので、古い質問に長い更新を加えるのではなく、新しい質問を始めることにしました。SwiftのUITextViewプロパティを使用したカスタムUIViewの読み込み時間が遅い
2つのビューコントローラでテストプロジェクトをセットアップしました。第1のビューコントローラ上のボタンは、第2のビューコントローラへのショーセグを呼び出す。 2番目のビューコントローラに私のカスタムビューがあります。 (第2のビューコントローラを使用すると、私はそれがカスタムビューをロードするためにかかった時間の感覚を取得してみましょう。)
カスタムビューコード:あなたが見ることができるように
がimport UIKit
@IBDesignable class UIMongolTextView: UIView {
var textView = UITextView() // key line
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect){
super.init(frame: frame)
}
}
、UIView
からの唯一の違いはあります私はUITextView
プロパティを追加しました。そして、このカスタムビューは非常にゆっくりと読み込まれます。私は以下の結果(997のカウント)を取得楽器に割り当てツールを実行している:非常に迅速に、私はコメントアウトした場合のラインが
//var textView = UITextView()
、しかし
をして私のカスタムビューロードそしてここでしか起こっている何7.
の数を持っていますか?カスタムビューでUITextView
プロパティを使用して、この遅い読み込み時間を避けることはできますか?
私は同じ問題を抱えていますが、私はUIPageViewControllerを使用しています。テキストビューではinitに時間がかかりますので、次のページにスワイプしようとすると遅延があります。 – Jacob
自己への注意(後で試してみる): 'UIView'として宣言し、後で' UITextView'にキャストするとどうなりますか? – Suragch