頭と尻尾はくれてやる!

パソコンおやじのiPhoneアプリ・サイト作成・運営日記


サブビューを全部消すカテゴリ

あるUIViewオブジェクトで仮に名前をbaseViewとしておくよ、これにいろいろとviewとかlabelなんかを乗せた後、不要になったら全て削除する時ってあるよね。
こんな場合、削除するためによくこんな記述をしてたんだ。
{
    for (UIView *view in [baseView subviews]) {
        [view removeFromSuperview];
    }
}
↑単にbaseViewに乗ってるviewオブジェクトを片っ端からremoveFromSuperviewしてるってだけなんだけどさ。

こういうのもカテゴリで書いておけばすっきりするよねってことでやってみたよ。
実装部分はこんな感じで。
@implementation UIView (RemoveAllSubviews)
-(void)removeAllSubviews
{
    for (UIView *view in [self subviews]) {
        [view removeFromSuperview];
    }
}
@end
こうしておけば、上のコードは
{
    [baseView removeAllSubviews];
}
って一行で書くことができる。ああ快感!

<< Gingerがすごい!のか?   TopPage  CGPointもカテゴリで配列へ >>

コメント


管理者にだけ表示を許可する
 

トラックバック

トラックバックURL
http://ringsbell.blog117.fc2.com/tb.php/767-d767a697




Copyright ©頭と尻尾はくれてやる!. Powered by FC2 Blog. Template by eriraha.

FC2Ad