ここで、私はReferencing Outlet Collection
を指摘しました。 XCode4での使用法を理解できません。
「XCode4のInterfaceBuilderでのREFERENCINGOUTLETCOLLECTIONの新機能」を求めています。
IBOutletCollection
は、IBOutlets
をグループ化する方法です。 3つまたは4つのUILabels
があり、その上にスタイル(font、backgroundColour、opacityなど)を適用するとします。 IBOutletCollection
を使用すると、これを行うのは簡単になります。まず、IBOutletCollection
を定義する必要があります。
@property (nonatomic, retain) IBOutletCollection(UILabel) NSArray *labelsCollection;
(ミックスコレクションがある場合はid
を入れることができますが、括弧内に入れているタイプに注意してください)
InterfaceBuilderでIBoutlets
を接続し、それを繰り返します。
for(UILabel *label in labelsCollection)
{
// Apply your styles
}
これがあなたの理解に役立つことを願っています:
http://useyourloaf.com/blog/2011/3/28/interface-builder-outlet-collections.html
XIBをハッキングしているところです。
ここで使用中のアウトレットコレクションを見ることができます:
コントロールは、以下に格納されている複数のジェスチャレコグナイザを持つことができます。
UITouch
@property(nonatomic,readonly,copy) NSArray *gestureRecognizers
IBを開く
UITextViewをIBビューにドラッグします。
Pinch GestureRecognizerをテキストビューにドラッグします。
オブジェクトのツリーでそれぞれをクリックし、接続インスペクターを開きます。
単一のアウトレットではなく、コレクションが追加されていることがわかります。
OUTLET COLLECTIONS
gestureRecognizers ------> Pinch Gesture
XCode Interface Builderを使用して、IBOutletを作成/ IBOutletコレクションに接続します。その結果、.hファイルに次のコードが含まれます。
@property (strong, nonatomic) IBOutletCollection(UILabel) NSArray *labels;
.mファイルでは、forループを使用して繰り返し、フォントサイズや色などの目的の機能を取得できます。
for (UILabel *label in self.labels) {
label.font = [UIFont systemFontOfSize:14];
label.textColor=[UIColor blueColor];
}
または
@synthesize labels;
...
for (UILabel *label in labels) {
label.font = [UIFont systemFontOfSize:14];
label.textColor=[UIColor blueColor];
}