Если вы хотите сделать красивое приложение под iOS, то вам не обойтись без кастомных компонентов, которые наследуются от UIView или других элементов. Сами элементы отображения можно создавать самостоятельно в init'ах, а можно и заранее разметить их в Nib файле.
В первом случае не возникает трудностей, достаточно просто создать экземпляр вашего класса.
Для второго слачая с Nib файлом подготовил категорию. Я предоставляю 2 варианта, оба работаю, пользуйтесь тем, который больше нравится
//UIView+UIInitialization.h #import@interface UIView (UIInitialization) + (UIView *) viewWithNibName:(NSString *)nibName owner:(NSObject *)owner; @end // UIView+UIInitialization.m Version 1 @implementation UIView (UIInitialization) + (UIView *) viewWithNibName:(NSString *)nibName owner:(NSObject *)owner { NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:nibName owner:owner options:NULL]; NSEnumerator *nibEnumerator = [nibContents objectEnumerator]; id customView = nil; NSObject* nibItem = nil; while ((nibItem = [nibEnumerator nextObject]) != nil) { if ([nibItem isKindOfClass:[self class]]) { customView = nibItem; break; } } return customView; } @end // UIView+UIInitialization.m Version 2 @implementation UIView (UIInitialization) + (UIView *) viewWithNibName:(NSString *)nibName owner:(NSObject *)owner { UINib *nib = [UINib nibWithNibName:nibName bundle:nil]; NSArray *nibArray = [nib instantiateWithOwner:owner options:nil]; id customView = [nibArray objectAtIndex: 0]; return customView; } @end
Комментариев нет:
Отправить комментарий