Как создать представление из файла пера в XCode?

У меня есть следующий код, чтобы создать представление и поместить его в scrollview для разрешения подкачки страниц
код хорошо работает однако, что я не мог сделать, загружает представления из файла пера

другими словами, я хочу использовать "initWithNibName" вместо "initWithFrame"?

   - (void)createPageWithColor:(UIColor *)color forPage:(int)page
     {
     UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(0, 300,400)];
         newView.backgroundColor = color;
     [scrollView addSubview:newView];
    }

Большое спасибо

9
задан ahmed 21 June 2010 в 23:06
поделиться

2 ответа

Я думаю, что вам не хватает того, что вы можете установить фрейм вашего нового UIView после загрузки пера. Время загрузки / инициализации - не единственный ваш шанс в этом. Я также разбиваю функцию загрузки на части в приведенном ниже коде, чтобы вам было легче увидеть, что происходит.

Обратите внимание:

NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:@"yournib" 
                                                     owner:self 
                                                   options:nil];
//I'm assuming here that your nib's top level contains only the view 
//you want, so it's the only item in the array.
UIView *myView = [nibContents objectAtIndex:0];
myView.frame = CGRectMake(0,0,300,400); //or whatever coordinates you need
[scrollview addSubview:myView];

Не забывайте, что для того, чтобы этот UIScrollView действительно прокручивался, вам необходимо установить его свойство contentSize на размер товаров внутри него, который, вероятно, больше, чем свойство .frame самого представления прокрутки. .

14
ответ дан 4 December 2019 в 06:26
поделиться

Попробуйте что-нибудь вроде этого (адаптировано из «Поваренной книги разработчиков iPhone», стр. 174):

UIView *newView = [[[NSBundle mainBundle] loadNibNamed:@"yournib" owner:self options:nil] lastObject];

Предполагается, что в вашем .xib есть единственный объект представления, но вы можете изменить его, если захотите. .xib сложнее.

4
ответ дан 4 December 2019 в 06:26
поделиться