0

UIScrollViewのページング機能を使用して、複数のビュー(ビューの配列)をページングします。

ViewController-ビュー-ScrollView

メインのUIViewControllerには、ビュー内にビューが含まれています。UIScrollViewは、アウトレットを介してViewController.hに接続されています。プロジェクトにカスタムビュー(MyView)を追加するためのxibファイルを作成しました。クラスと同じ。MyViewという名前のUIViewのサブクラスを追加します。MyView.hに接続したMyView.xibのアウトレット。そして、MyView.xibのクラスをUIViewからMyViewに変更しました。

ViewController(UIScrollView ...)からMyView.xibを操作するために、ViewController @property(nonatomic、weak)MyView*myViewにプロパティを追加しました。だから私はMyViewのテキスト、背景色、その他のものを設定することができます。

すべてが正常に機能しますが、よくわかりません-悪いスタイルですか?だから私はあなたたちに尋ねます。それは私がやっていることで大丈夫ですか、それともそうではありませんか?

4

1 に答える 1

1

実は素晴らしいスタイルです。

メインのUIViewControllerには、ビュー内にビューが含まれています。UIScrollViewは、アウトレットを介してViewController.hに接続されています。プロジェクトにカスタムビュー(MyView)を追加するためのxibファイルを作成しました。クラスと同じ。MyViewという名前のUIViewのサブクラスを追加します。MyView.hに接続したMyView.xibのアウトレット。そして、MyView.xibのクラスをUIViewからMyViewに変更しました。

それがIBのクラスラベルのポイントです。要素はサブクラス化されることを意図しており、そうすることで、標準のUIKitクラスに組み込まれているよりも深いカスタマイズが可能になります。

ViewController(UIScrollView ...)からMyView.xibを操作するために、ViewController @property(nonatomic、weak)MyView*myViewにプロパティを追加しました。だから私はMyViewのテキスト、背景色、その他のものを設定することができます

繰り返しますが、素晴らしいですが、見過ごされがちな側面です。Interface Builderのアウトレットは、通常、強力なトップレベルのオブジェクト(たとえば、スーパービュー、またはクラス)によって維持されるため、常に弱い(または割り当てる)ことを目的としていました。それを弱くすることの利点は、クラスの割り当てが解除されると、弱いアウトレットも自動的に割り当て解除されることです。IBOutletsが弱い理由のより良い説明については、ここを参照してください。

于 2012-06-28T08:11:48.423 に答える