2015-08-10 1 views
0

Я добавил UISegmentedControl программно navigationItem.titleViewIOS - NavigationItem titleView сосредоточен на первую загрузку, но затем становится прижат к левому верхнему углу

В первый раз она отображается его по центру, как я бы ожидать. Но как только я ныряю вниз в контроллер представления детали, я могу видеть, вид моего titleView толкнул в левый верхний угол, и ничего я пытался не получает его обратно

В моем методе инициализации я делаю это

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent]; 
segmentedControl.selectedSegmentIndex = 0; 
[segmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO]; 
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
//segmentedControl.frame = CGRectMake(0, 0, 280.0f, 30.0f); 


self.navigationItem.titleView = segmentedControl; 

я понял, через некоторое время, что установка CGRectMake имеет никакого влияния

Я также попытался поставить этот вход в viewDidAppear, но и не изменить этот результат

Раньше, когда я попытался положить U ISegmentedControl внутри другого UIView, я потерял возможность щелкнуть по UISegmentedControl (я не уверен, что у меня был вариант этого, который решил мои проблемы с позиционированием)

ответ

3

Если у вас есть только 2 сегмента, я не думаю он необходим для изменения размера, его ширина всегда будет соответствовать даже для iPhone 4 и ниже.

Что произойдет, если вы удалите следующее:

[segmentedControl setTranslatesAutoresizingMaskIntoConstraints:NO]; 
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth; 
+1

посвататься спасибо! что сводило меня с ума! как в, я сейчас сумасшедший – CQM

+1

Спасибо человеку. Вы спасли мое время. – iGW

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

  • Нет связанных вопросов^_^