2015-07-28 4 views
2

Я использую ограничения для размещения контроллера представления в своем приложении. Вот скриншот завершенного макета: enter image description hereОграничения раскадровки, похоже, не применяются

Из того, что я читал, ограничения, являющиеся синими, означают, что они хороши (информации для определения макета достаточно).

В другом контроллере представления, я представляю этот вид контроллер со стилем представления поповер, как это:

- (void)annotationTapped:sender { 
    ... 

    AJFAnswerViewController *answerViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"AnswerViewController"]; 

    answerViewController.modalPresentationStyle = UIModalPresentationPopover; 
    [self presentViewController:answerViewController animated:YES completion:nil]; 

    answerViewController.answerLabel.text = tappedAnnotation.name; 
    answerViewController.quesitonLabel.text = tappedAnnotation.questionText; 
    answerViewController.saveBlock = saveBlock; 

    UIPopoverPresentationController *popover = [answerViewController popoverPresentationController]; 
    popover.sourceView = tap.view; 
    popover.sourceRect = tap.view.bounds; 
    popover.permittedArrowDirections = UIPopoverArrowDirectionAny; 
} 

Вот что я вижу, когда я запустить приложение:

enter image description here

Кажется, что ограничения не применяются. Я подтвердил, что мой идентификатор раскадровки верен и что popover использует контроллер представления в popover (например, если я изменяю явную высоту примерно на 100, это соблюдается).

Я пропустил конкретный вызов метода или неправильно составлен раскладной план?

+3

похоже, что вы определили ограничения только для небольших размеров. Внизу убедитесь, что у вас есть «любой x любой» для размера, а затем установите ограничения – Dean

+0

всегда используйте ограничения при разработке макета в режиме wAny и hAny –

ответ

1

Решено путем применения ограничений к размеру wAny hAny (как предложил Дин, спасибо!).

0
  1. выбрать все ярлыки и сделать их встраивать в новом представлении (Xcode-редактор встраивать-просмотр)
  2. выберите вид, который метки погруженные и добавить новое выравнивание ограничения (горизонтальный центр в контейнере: 0, вертикальный центр в контейнере: 0)
  3. перестраивать тот, LABEL Constraint
Смежные вопросы