Добавьте мой UIView в ViewController в раскадровке

Я новичок в разработке iPhone.

У меня есть UIViewController в раскадровке, который включает в себя scrollView.

Я хочу поместить на него два UIImageViews и несколько UILabels.

идея, о которой я думаю, такова: создать файл .xib. Поместите на него UIView, а затем установите мой UIImageview и метки на этот UIView.

Наконец, добавьте мой UIView, который представляет собой файл .xib, в мой UIScrollView.

Это хорошая идея? если нет, то что вы предлагаете.

до сих пор я не мог заставить его работать. это мой код:

OfferUIView *newPageView = [[OfferUIView alloc] init];      // UIView that I created as .xib
self.newPageView.contentMode = UIViewContentModeScaleAspectFill;
newPageView.frame = frame;
[self.scrollView addSubview:newPageView];
[self.pageViews replaceObjectAtIndex:page withObject:newPageView];

Вы можете помочь мне?


person Ali    schedule 26.09.2012    source источник


Ответы (3)


Я знаю, это звучит глупо, но вы пробовали удалить self из self.scrollView и self.pageViews?

person Zach Ross-Clyne    schedule 26.09.2012

Как вы создали файл .xib? он должен быть подклассом UIView. Надеюсь, вы не сделали ошибку, создав его как подкласс UIViewController.

person Neo    schedule 26.09.2012
comment
Нет, это определенно UIView. - person Ali; 26.09.2012
comment
Проверьте файл OfferUIView.h, это UIView? - person Neo; 26.09.2012
comment
Да, как я уже сказал: @interface OfferUIView: UIView - person Ali; 26.09.2012
comment
Откройте файл .xib => нажмите на родительское представление => на левой панели нажмите «Показать инспектор идентификации» => в разделе пользовательского класса в поле класса проверьте, есть ли его OfferUIView. Также владельцем файла является NSObject. - person Neo; 26.09.2012

Я нашел ответ:

NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"OfferView" owner:self options:nil];
UIView *newPageView = [views lastObject];
person Ali    schedule 26.09.2012