この質問は「スタイル」に関するものです。これは非常に一般的な問題であり、エレガントな解決策を探しているからです。私はいくつかの「高度な」UIViewを作成し、それらを非常にカスタマイズ可能にしようとしています. 通常、カスタム init メソッド内に UIView 構造を作成しますが、init メソッド内のすべてのカスタマイズ可能なパラメーターの値を知る必要があるため、次のような非常に長い init メソッドが必要になる場合があります。
initWithFrame:color:font:verticalspace:verylonglist:
デリゲート デザイン パターンを使用しようとしましたが、デリゲートを init メソッド内に渡す必要もあります。
私の実際の最善の解決策は、init メソッドを空のままにして、レイアウトに関するすべてを「configure」メソッド内に移動することです。背景色やフォントなどのプロパティが発生するたびに、このメソッドを呼び出してビューを再構築します。
この問題を解決する最善の方法があると思います... UITableView クラスのコードを見てみたいと思います。そのクラスでは、init メソッドの外部にデリゲートを渡すことができるからです。