2017-07-29 14 views
1

私はストーリーボード内のボタンを使用して遊んでいましたが、周りにボーダーが表示されていました。ユーザー定義ランタイム属性。私が望むようにボタンを見せることができましたが、特定のオブジェクトの使用可能な属性のリストを表示する方法があるかどうかを知りたかったのです。Interface BuilderでUI要素の使用可能なランタイム属性を確認する

新しい属性を追加するには、「+」をクリックすると、利用可能なものを表示するオートコンプリートのいずれかの種類を提供していない、と私のプロジェクトのコードを見ていると、どちらか何かを明らかにしていないようです、驚くことではないが。 Xcodeのすべての/すべてのオブジェクトに対して利用可能な属性をすべて見つけることができますか?ここでの検索は、これまでのところ有用な結果を示していません。

+1

あなたはコードから同じことを達成できるので、 'UIButton'(ドキュメンテーションとオートコンプリートで利用可能です)のプロパティをチェックすれば良いです。 –

+0

'UIButton.'には「レイヤー」属性または「borderWidth」がありません...何がそこにないのですか? –

+0

おそらく、 'UIButton().layer'の代わりに' UIButton.layer'を使用しようとしています。両方ともインスタンスのプロパティであり、クラスのプロパティではないため、インスタンスを介してアクセスする必要があります。 –

答えて

1

コードから同じことを達成できるので、UIButtonのプロパティをチェックしてください(これはドキュメントとオートコンプリートで利用可能です)。

また、クラスプロパティではなくUIButtonインスタンスのプロパティを確認していることを確認する必要があります。

1

ユーザ定義の実行時属性は、NIBロードサブシステムがアーカイブされていないプロセスによって使用するキーパスのリストです。初期化の後、メッセージ-setValue:forKeyPath:は、このリストから各キーパスのアーカイブされていないオブジェクトに送信されます。したがって、使用可能な属性は、-setAttributeのセレクタソートを持つすべてのメソッドと "_attribute"または "attribute"という名前のivarsを組み合わせたものにすぎません。 公開されているすべての属性は、公開ヘッダーまたはドキュメントにあります。 プライベート属性を設定することもできますが、それは良い方法ではありません。たとえば、すべてのメソッドの中でブレークポイントの実行によってすべてのivarsを見つけることができ、 "self"の内部を見ることができます。

関連する問題