2010-01-23 2 views
1

Я создал файл .xib и добавил UIView к нему в IB, который я назвал detailView. Мне нужно, чтобы загрузить .xib в detailView области, а вот код, я использую в моей точки зрения контроллера, чтобы сделать так:iPhone addSubview накладывает весь вид

NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"DetailView" 
                owner:self 
                options:nil]; 
UIView *nibView = [nibObjects objectAtIndex:0]; 
self.detailView = nibView; 

Скриншот установки в IB здесь: http://www.pict.com/view/2612170/0/screenshot20100123at2

Детализированный .xib загружает, но почему-то игнорирует рамку для области detailView, которая была настроена в IB и заполняет весь экран. Что дает???

Спасибо!

ответ

0

Если я вижу это правильно, розетка detailView уже подключена к PropertyEditViewController. Вы не хотите устанавливать self.detailView в nibView вручную, потому что вы фактически переопределяете detailView с его родительским представлением. Просто отправьте имя -loadNibNamed: owner: options: и вы должны быть в порядке.

+0

С контроллера представления я попробовал '[self.detailView loadNibNamed: @" DetailView "владелец: self options: nil];' и он ошибался, так как UIView не отвечает на -loadNibNamed: owner: options: , Что мне не хватает? Благодаря! –

+0

Предполагая, что вы вызываете -loadNibNamed: owner: options: из метода контроллера (то есть self является PropertyEditViewController), первое утверждение в вашем исходном сообщении является законным. Я думаю, что вам не нужны второй и третий, потому что detailView уже настроен в IB. Вы можете заменить эти два утверждения NSLog (@ "% @", self.detailView), чтобы убедиться, что мы понимаем друг друга. – Costique

Смежные вопросы