Xibファイルに約10個のUIButtonがあり、プログラムでsetTextを使用したい
次回質問するときには、より具体的になりたいかもしれません。
インターフェイスビルダーの各ボタンに異なるタグ(または必要に応じて同じタグ)を割り当ててから、次のコードを使用してみてください。
for (int i = 1 ; i<=10;i++)
{
UIButton *myButton = (UIButton *)[myView viewWithTag:i];
[myButton setTitle:@"my text" forState:UIControlStateNormal];
}
レイアウトからボタンのコレクションを作成できると思います:
Xibから最初のボタンを選択し、右ボタンでコードにドラッグします。
次に、接続タイプに「アウトレットコレクション」を選択し、名前を割り当てる必要があります。
次に、コードにxibファイルのボタンの配列があります。
@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons;
次に、作成したコレクションの上に他のボタンを選択してドラッグし、それらを繰り返したい順番に1つずつ実行します。
接続インスペクターで、作成した配列にカーソルを合わせてボタンの順序を確認できます。
次に、各ボタンのテキストを設定します。
for (int i = 0; i<self.buttons.count; i++) {
UIButton * button = self.buttons[i];
[button setTitle: [NSString stringWithFormat:@"Button %d",i ] forState:UIControlStateNormal];
}
UIControlStateNormalがデフォルトの状態であり、オーバーライドされない場合、すべての状態に対して表示されることに注意してください。
一般に、状態にプロパティが指定されていない場合、デフォルトではUIControlStateNormal値が使用されます。 UIControlStateNormalの値が設定されていない場合、プロパティはデフォルトでシステム値になります。したがって、少なくとも、通常の状態の値を設定する必要があります。
それがお役に立てば幸いです