LoginSignup
11
10

More than 5 years have passed since last update.

複数のUITextFieldに同じプロパティを設定する

Posted at

UITextField (に限らずUIView全般に言えますが) が画面にいくつかある場合、それら全てに共通の設定をしたいときがあります。

Xib/Storyboard で個別に設定していく場合は別ですが、コードで設定する場合、つい下記のような感じにやってしまいがちです。

self.firstField.delegate = self;
self.firstField.layer.borderWidth = 2;
self.firstField.layer.borderColor:[UIColor redColor].CGColor;

self.secondField.delegate = self;
self.secondField.layer.borderWidth = 2;
self.secondField.layer.borderColor:[UIColor redColor].CGColor;

// 以降続く...

ここで、各UITextFieldを一時的に配列にして、enumerateObjectsUsingBlock: メソッドを使って一気に同じ設定を施せば、見通しもよくなって良い感じです。

[@[self.firstField, self.secondField, self.thirdField, self.fourthField] enumerateObjectsUsingBlock:^(UITextField* obj, NSUInteger idx, BOOL *stop) {
        obj.layer.borderWidth = 2;
        obj.layer.borderColor:[UIColor redColor].CGColor;
        obj.delegate = self;
    }];

andreamazz/UITextField-Shake の実装を参考にさせて頂きました。

11
10
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10