2016-09-28 6 views
0

Вот мое storyboard изображения:Несколько перетекает к одному контроллеру представления (как сделать его хорошо выглядеть в раскадровке)

enter image description here

Я хочу создать SEGUE для viewController красной стрелки, указывая на. Это профиль viewController. Там, вероятно, будет три viewControllers, ссылаясь на это viewController в конце концов. В настоящее время их будет два.

Теперь я могу просто управлять показом перетаскивания и создать segue. Однако это выглядит беспорядочно. Мой storyboard теперь имеет эту диагональную линию, идущую под viewControllers.

Это ожидаемый способ сделать это? Совершенно ли нормально иметь линию, идущую от одного до другого?

Спасибо за ваши предложения заранее.

+0

Я голосую закрыть как мнение основано, но так как я здесь, как насчет [это] (Http: // i.stack.imgur.com/wbYxP.png)? –

ответ

0

Фактически вы можете перемещаться в любом из viewCotroller в любое время, используя идентификатор segue или раскадровки. Но есть предопределенные правила здесь, вы должны знать о стеке viewController's, всякий раз, когда вы загружаете какой-либо viewController, они появляются в стеке, который следует за первый в последнем из способ.

Вы можете использовать segue для перемещения по viewConteoller или storyboard ID.

Objective C:

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
UIViewController *vc = [mainStoryboard instantiateViewControllerWithIdentifier:@"viewsId"]; 

// Note: use presentViewController or pushViewController one of them  
[self presentViewController:vc animated:YES completion:nil]; 

[self.navigationController pushViewController:vc animated:YES]; 

В Swift:

let vc: UIViewController = (self.storyboard?.instantiateViewControllerWithIdentifier("viewsId"))! 

// Note: use presentViewController or pushViewController one of them 
    self.presentViewController(vc, animated: true, completion: nil) 

    self.navigationController?.pushViewController(vc, animated: true) 
1

Вы могли бы просто добавить segue в виде раскадровки, и даже с диагональной линией все будет в порядке. Просто не для глаз.

Если вы не хотите, чтобы ваш раскадровка запутался, вы могли вместо этого поставить контроллер профиля в другую часть раскадровки, а затем вызвать его напрямую, не используя segues.

if let vc = UIStoryboard(name: "MyStoryboard", bundle: nil).instantiateViewControllerWithIdentifier(identifier: "viewControllerId") { 
    // Present or push the view controller using the proper function 
} 

Чтобы установить идентификатор вид контроллера вы можете просто нажать на него на раскадровке и заполнить поле «ID» Раскадровка в инспекторе идентичности.

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