0

UIButtonに苦労しているだけです。を使用してすべてのサブビューを削除します

for (UIView *v in button.subviews) {
    [v removeFromSuperview];
}

しかし、後で使用して背景画像を設定したい

[button setBackgroundImage:[UIImage imageNamed:@"backgroundImage.png"] forState:UIControlStateNormal];

そして何も起こりません。以前のコードよりもすべてのサブビューを削除しないと機能します。

したがって、すべてのサブビューを削除すると、実際には backgroundImage も削除される可能性があります。その場合、backgroundImage を元に戻すことは可能ですか?

4

1 に答える 1

0

はい、あなたの経験によると、背景画像は別のサブビューを使用して表示されているようです。簡単な答え: 貧弱なビュー階層 (とにかく非公開) をレイプする代わりに、自分で追加したサブビューを追跡し、それらだけを削除する必要があります。

于 2013-04-20T16:08:15.953 に答える