2016-02-11 7 views
0

Прежде чем я углубится в детали, я хочу упомянуть, что я пробовал все учебные пособия о добавлении LaunchImages/LaunchScreen.xib и т. Д., И ничто из этого не сработало для меня. Может, я сделал что-то не так, поэтому, пожалуйста, дайте мне знать, если вы думаете, что я что-то пропустил.UIView добавил программно полный экран неправильного размера

Таким образом, большинство моих представлений создаются с использованием интерфейса Builder/Auto Layout и масштабируются до нужного размера для всех эмуляторов iPhone 4s-iPhone 6s plus.

Однако, для одного из моих взглядов я делаю это немного по-другому, и, похоже, он остается на экране iPhone 4S независимо от того, какой эмулятор я запускаю. (Ака он имеет белое пространство вокруг точки зрения)

Вот что я делаю:

У меня есть CustomView.XIB и я добавил кучу кнопок/этикеток/и т.д., используя AutoLayout.

Я также CustomView.h и .m файлы:

- (instancetype)initWithNib { 
    self = [super initWithFrame:[[UIScreen mainScreen] bounds]]; 
    if (self) { 

     NSLog(@"Screen bounds height in view: %f",[UIScreen mainScreen].bounds.size.height); 

     NSBundle *bundle = [NSBundle bundleForClass:[self class]]; 
     UINib *nib = [UINib nibWithNibName:@"CustomView" bundle:bundle]; 
     CustomView *view = [nib instantiateWithOwner:self options:nil][0]; 

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

и в моем файле CustomViewController.m я есть:

currentCustomView = [[CustomView alloc] initWithNib]; 
[self.view addSubview:currentCustomView]; 

Так на самом деле я не думаю, что [[UIScreen mainScreen] bounds] неправильно. И CustomViewController, и CustomView возвращают те же неверный. Почему ограничения ViewController неверны? Почему всегда iPhone 4s ограничивается, а не меняется с помощью разных эмуляторов?

У меня есть запуск изображений в изображения активов:

Launch images assets

И в разделе Свойства:

properties section

Другой вопрос: Если я только поддерживает IOS 9 и выше, мне кажется, что мне не нужны снимки iOS 6 и Prior для запуска. НО тогда это не будет работать корректно на некоторых версиях эмулятора. Но я думал, что все iPhone 4s-6s могут поддерживать iOS9, так почему они настраивают это так?

+0

Из любопытства, это пользовательский вид EAGLView? – MtRoad

+0

Нет, просто CustomView: UIView – stellarowl12

+0

Вы посмотрели http://stackoverflow.com/questions/21668497/uiscreen-mainscreen-bounds-returning-wrong-size? – MtRoad

ответ

0

JUST выяснил, как это сделать после 2 дней тестирования разных вещей.

Для людей, которые это читают, даже не волнуйтесь о запусках изображений и всего этого джаза. Просто используйте AutoLayout, и он будет масштабировать виды в вашем viewcontroller для вас. Я только что должен был сделать:

[view setTranslatesAutoresizingMaskIntoConstraints: NO];

И тогда NSLayoutConstraints я хочу. Но ключевым является то, что мне нужно сделать это как для CustomViewController И внутри моего CustomView после добавления subview. Взгляните на мой код выше, чтобы понять, зачем мне это нужно.

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