3

カスタムUIViewの最大の問題は、XIBの白い長方形だけが表示されることです。

一部のプロパティはまったくカスタマイズできません。たとえば、カスタムサブビューにラベルがある場合、XIBでそのラベルのテキストを直接設定できると便利です。

ここに画像の説明を入力してください

UIButtonのようなものがあります。

これも実行可能ですか?

XIBの設計は単なるショートカットであり、実際のコードはコードに含まれていますか?

4

3 に答える 3

3

残念ながら、Interface Builderの[属性インスペクター]パネル(キャプチャーにあるもの)にエントリを追加して、組み込みのCocoaクラスの場合と同じように値をカスタマイズできるようにする実際の方法はありません。


(正確には、一部のブログでは、Xcode3でそれを行うことができた古いXcode3プラグインをXcode4プラグインに変換するいくつかの方法を説明していますが、これは公式に文書化されておらず、セットアップに非常に複雑であり、専用のXcodeプロジェクトが必要です。カスタムビューを作成し、そのIBパレットを宣言し、いくつかの関連コードを記述して、xcodeプラグインに埋め込みます…)


ただし、あまり便利ではない場合でも、コードで行うのではなく、InterfaceBuilderでXIB内のオブジェクトのプロパティをカスタマイズする可能性が1つあります。

「IDインスペクター」(属性インスペクターの前のタブCmd-Alt-3)に移動し、「ユーザー定義のランタイム属性」テーブルを使用して、変更するプロパティの名前/キーパスを入力し、それらの値を指定します。

keyPathからIBの値をカスタマイズします

ただし、実際には、専用の「属性インスペクター」パレットほど優れていないため、使用するXIBファイルで使用されることはめったにありません。また、影響を与えることができるように、テーブルにプロパティの正確な名前を入力する必要があります。それに対する価値:あなたを助けるための素敵なテキストフィールドとチェックボックスであなたのために構築された変更可能なプロパティのリストはありません...しかしそれはまだ魅力のように機能します!


この機能を要求するために(フィードバックツールを使用して)Appleにリクエストを送信してください。これが可能になることを期待するのはあなたが最初ではなく、最後にリクエストするわけではないので、Appleがそうすることを願っています。十分なリクエストを受け取り、それを実装します…</ p>

于 2012-10-22T23:12:24.503 に答える
1

はい、可能です。

まず、カスタムビューで、次のプロパティを追加します(ARC機能を使用していると推測します)。

@property(nonatomic, strong) IBOutlet UILabel myLabel;

ここで、xibで、メインビューがカスタムビューの種類であることを確認してください。ビュー内の必要な場所にラベルを追加します。カスタムビューをクリックし、接続インスペクターを使用してラベルをmyLabelにリンクします。

于 2012-10-22T09:58:28.950 に答える
0

ストーリーボード/ペン先は、コードが実行される前のインターフェイスがどのように見えるかを示します。ストーリーボードで表示したい場合は、ストーリーボードで作成する必要があります。カスタムオブジェクトがある場合、ストーリーボードにはプレースホルダーとして使用する基本的なオブジェクトがありますが、コードに読み込まれたコンテンツは表示されません。

于 2012-10-22T22:53:46.170 に答える