これは私の理解です:UIViewとCALayerクラスの両方にsetNeedsDisplay
があり、UIViewはCALayerを含む複合クラスです。しかし、UIViewはdrawRect:
を使用し、CALayerはdrawLayer:inContext:
を使用します。両方ともsetNeedsDisplay
を使用して呼び出します。これはいくつかのプロトコルか何かですか?だから私はUIViewの実装のいくつかの時点で、CALayerが作成され、この層のデリゲートがUIViewクラスに設定されていると思いますか?まさにこの2つのクラスの関係は何ですか? UIViewのdrawRect:
は基本的にコンテンツを解析しており、そのレイヤーのdrawLayer:inContext:
を呼び出していますか?これはどんなデザインパターンですか?私はこれらの2つのクラスがどのように働くかを頭に入れて、感謝しています。UIViewとCALayerの関係は何ですか
5
A
答えて
0
これはすべてAppleの実装の詳細なので、わかりません。また、異なるビュー・クラスは、そのレイヤーと異なる関係を持ちます。
例えば、UIImageView
はexplicitly documentedないへの呼び出しdrawRect:
です。これは、イメージを設定すると、実際にレンダリング方法を実行せずに、レイヤのcontents
プロパティを直接更新するためです。つまり、最も基本的なのは、UIView
の動作は、setNeedsDisplay
がレイヤーへの呼び出しを単に転送するということです。次に、drawLayer:inContext:
がビュー上で呼び出されると、UIGraphics
コンテキスト・スタッフが設定され、drawRect:
が呼び出されます。
関連する問題
- 1. UIViewのclipsToBoundsとCALayerのmasksToBoundsの関係はどうですか?
- 2. UIViewのsizeToFitメソッドと同等のCALayerは何ですか?
- 3. のCALayerとUIViewの
- 4. UIViewからCALayerをコピーすることはできますか?
- 5. タッチとの関係でUIViewを移動
- 6. Yii2:関係名とは何ですか?
- 7. CALayerとUIViewについての質問
- 8. phpのclassとcall_user_func()関数の関係は何ですか?
- 9. CALayerのsetNeedsDisplayを呼び出すUIView setNeedsDisplay?
- 10. EnumとEnumerationの関係は何か
- 11. IS-A関係とHAS-A関係の違いは何ですか? Java
- 12. ブレンドとは? WPFとの関係は何ですか?
- 13. JavaScript/HTML/jQueryとの関係で ".el"とは何ですか?
- 14. MyISAMテーブルのphpMyAdminでは "内部関係"とは何ですか?
- 15. Angular2/SystemJSでは、systemjs.config.jsと.import()の関係は何ですか?
- 16. UIObjectのベースとCALayerの違いは何ですか?
- 17. "カーネルコール"と "システムコール"という用語の関係は何ですか?
- 18. AppDelegateとRootViewControllerとUIApplicationの関係は何ですか?
- 19. ng buildとngcの関係と違いは何ですか
- 20. tomcatとjdkとwebアプリケーションの関係は何ですか?
- 21. XOauthとOAuthとの関係は何ですか?
- 22. ES6とAngularとJqueryの関係は何ですか? Vue.js
- 23. OpenId ConnectとIdentityServerとIdentityの関係は何ですか?
- 24. Rails3 - テスト - 関係エラーとは何ですか?無効ですか?
- 25. マスクされたUIViewのアニメーション、CALayer
- 26. - [CALayer drawInContext:]何かする?
- 27. Intelのコアi *とコアの数の関係は何ですか?
- 28. CALayerデリゲートで何ができますか?
- 29. アイソメの角度とスケールの関係は何ですか?
- 30. GoogleのApp Engine SDKとCloud SDKの関係は何ですか?