2013-03-02 2 views
0

Я добавил пользовательский класс представления со своим собственным xib. В xib владелец файла -> Пользовательский класс установлен в «MyCustomView».Почему класс просмотра не отображается в раскадровке?

Я добавил пустой взгляд в моей раскадровке с установкой класса «MyCustomView»

Когда я запускаю мое приложение, я не вижу, на мой взгляд, что отображается правильно. Тем не менее, я вижу 2013-03-01 16:52:48.283 Test[56785:c07] MyCustomView initWithCoder

Любые идеи, что пошло не так?

Я изолировал эту ошибку здесь: http://bit.ly/YdDbqU

Спасибо!

EDIT:

  1. Я выключил autolayout
  2. я использовал следующее:

    UIView * подвид = [[NSBundle mainBundle] loadNibNamed: @ "MyCustomView" Владелец: варианты самостоятельно: ноль ] .lastObject; subview.frame = self.myCustomViewInstance.bounds; [self.view addSubview: subview];

  3. Любое все сработало!

+0

Что означает «отображаемое надлежащим образом». Я вижу пустое, белое, UIView, так как должно быть – CodaFi

+0

@CodaFi хорошо, у xib есть несколько меток: 1, 2, 3, 4, ... Я имел в виду, что xib отображается на белом пространстве основного view – disappearedng

ответ

1

Вы никогда не загружаете этот xib - установка класса в IB недостаточна. Вам все равно нужно загрузить файл xib и настроить представление вашего контроллера на это представление;

#import "FirstViewController.h" 
#import "MyCustomView.h" 

@implementation FirstViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.view = [[NSBundle mainBundle] loadNibNamed:@"MyCustomView" owner:self options:nil].lastObject; 
} 
+1

Это сработало! Однако, не устанавливает ли self.view означает, что весь вид FirstViewController (включая его дочерний, MyCustomView) заменен? Я добавил дополнительную метку в FirstMainViewController внизу, и теперь ярлык больше не может быть замечен, потому что весь вид заменяется. (Я создал новую фиксацию «Добавлена ​​ярлык, но метка теперь отсутствует?». Не могли бы вы снова взглянуть?) – disappearedng

+0

@ iaman00b, если вы не хотите, чтобы весь вид был заменен, добавьте это представление в качестве подзаголовка self.view , – rdelmar

0
  1. Я выключил autolayout
  2. Я использовал следующие:

    UIView * подвид = [[NSBundle mainBundle] loadNibNamed: @ "MyCustomView" Владелец: варианты самоуправления: ноль] .lastObject ; subview.frame = self.myCustomViewInstance.bounds; [self.view addSubview: subview];

Любое все сработало!

0

Убедитесь, что ваш класс является наследованием от UIViewController.

@interface ClassName : UIViewController 
Смежные вопросы