2015-04-21 2 views
0

Я создаю пользовательский UIView из файла NIB (у моего представления есть размер, установленный на iPhone - 4,7 дюйма). Я хочу добавить свой пользовательский вид в контроллер вида в методе viewDidLoad.Ошибка рендеринга автоопределения

Все работает так, как ожидалось, в симуляторе при работе на iPhone 6. Однако, если я сменил устройство на меньший экран (iPhone 5S или iPhone 4), я могу увидеть анимацию, когда представление будет отображаться на экране (от размера, которое он имеет в файле NIB, к новым ограничениям экрана). Как добавить представление без этой анимации?

EDIT: Вот код из контроллера представления, который создает и добавляет пользовательский вид:

- (void)createLaunchScreen { 
    LaunchScreen *launchScreen = [[LaunchScreen alloc] initWithFrame:[UIScreen mainScreen].bounds]; 
    [self.view addSubview:launchScreen]; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 

    [self createLaunchScreen]; 
    ... 
} 

код из моего пользовательского вида:

- (instancetype)initWithFrame:(CGRect)frame { 
    self = [super initWithFrame:frame]; 
    if (self) { 
     UIView *view = nil; 
     NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"LaunchScreen" 
                 owner:self options:nil]; 
     for (id object in objects) { 
      if ([object isKindOfClass:[UIView class]]) { 
       view = object; 
       break; 
      } 
     } 

     [self addSubview:view]; 
    } 
    return self; 
} 

- (void)layoutSubviews { 
    for (UIView *view in self.subviews) { 
     view.frame = self.bounds; 
    } 
} 

А вот изображение с как мой файл NIB выглядит как enter image description here

+0

является то, что анимация проблема возникает из-за изменить экран? или он создан где-то в коде? –

+0

Пожалуйста, покажите нам код. – dasdom

+0

Я отредактировал вопрос и добавил код. –

ответ

0

Это потому, что вы показываете его дважды? Что он автоматически загружает «LaunchScreen.xib», автоматически отображая это, а затем загружая свой код пользовательского вида, который затем изменяет размер?

Я бы прокомментировал ваш пользовательский код просмотра и посмотрел, не отображается ли изображение вообще (или оно есть и не изменяется). Если он все еще отображается (без анимации), это проблема.

Попробуйте изменить свои «Launch экран File» целевые установки от «LaunchScreen» до «Main.Storyboard»