ここで、を指摘しましたReferencing Outlet Collection
。XCode4での使用法を理解できません。
「XCode4のInterfaceBuilderでのREFERENCINGOUTLETCOLLECTIONの新機能」を求めています。
ここで、を指摘しましたReferencing Outlet Collection
。XCode4での使用法を理解できません。
「XCode4のInterfaceBuilderでのREFERENCINGOUTLETCOLLECTIONの新機能」を求めています。
私はちょうどXIBをハッキングしています。
ここで使用されている Outlet コレクションを確認できます。
コントロールには、次の場所に格納されている複数のジェスチャ レコグナイザーを含めることができます。
UITouch
@property(nonatomic,readonly,copy) NSArray *gestureRecognizers
IBを開く
UITextView を IB ビューにドラッグします。
Pinch Gesture Recognizer をテキストビューにドラッグします。
オブジェクトのツリーでそれぞれをクリックし、接続インスペクターを開きます。
単一のアウトレットではなく、コレクションとして追加されていることがわかります。
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];
}
swift:
// create outlet colllections
@IBOutlet var name: [UILabel]!
@IBOutlet var ageLabel: [UILabel]!
@IBOutlet var genderLabel: [UILabel]!
@IBOutlet var weightLabel: [UILabel]!
@IBOutlet var heightLabel: [UILabel]!
@IBOutlet var bmiLabel: [UILabel]!
@IBOutlet var smokerLabel: [UILabel]!
@IBOutlet var hdraLabel: [UILabel]!
// declare global vars
var names: UILabel;
var ageLabels: UILabel;
var genderLabels: UILabel;
var weightLabels: UILabel;
var heightLabels: UILabel;
var bmiLabels: UILabel;
var smokerLabels: UILabel;
var hdraLabels: UILabel;
// assign values
for name:UILabel in self.name {
self.names = name
}
for ageLabel:UILabel in self.ageLabel {
self.ageLabels = ageLabel
}
for genderLabel:UILabel in self.genderLabel {
self.genderLabels = genderLabel
}
for weightLabel:UILabel in self.weightLabel {
self.weightLabels = weightLabel
}
for heightLabel:UILabel in self.heightLabel {
self.heightLabels = heightLabel
}
for bmiLabel:UILabel in self.bmiLabel {
self.bmiLabels = bmiLabel
}
for smokerLabel:UILabel in self.smokerLabel {
self.smokerLabels = smokerLabel
}
for hdraLabel:UILabel in self.hdraLabel {
self.hdraLabels = hdraLabel
}