0

一部のオブジェクトに text プロパティがあるかどうかを確認する必要があります。たとえば、UIButtonまたはを指定できますUILabelUIButtonただし、 のテキストを表示するプロパティとのテキストを表示するプロパティの間には問題がありますUILabel

これが違いです:

メソッドUIButtonを使用してテキストを設定する場合、別の名前のメソッドを使用する場合setTitle:UILabelsetText:

私はこれで何をする必要があります:

すべてのサブビューを取得する必要があり、これらのサブビューにテキスト プロパティがある場合は、このプロパティ値をテキストで変更する必要があります。

もちろん、オブジェクトのクラスをチェックして必要なプロパティを設定できますが、オブジェクトのクラスをチェックせずにそれを行う別の方法があるかもしれません。

4

1 に答える 1

1
for (id item in [self.view subviews])
{
    if ([item respondsToSelector:@selector(text)])
        [item setText:@"text"]; // change text for UILabel
    else if ( [item respondsToSelector:@selector(setTitle:forState:)])
        [item setTitle:@"text" forState:UIControlStateNormal]; // change text for UIButton
}
于 2013-01-15T15:14:06.077 に答える