2012-07-01 3 views
2

Новый способ представления viewcontroller с помощью StoryBoard.iOS Xcode 4.2 с помощью StoryBoard для представления ViewController

UIStoryboard* secondStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 

UINavigationController* secondViewController = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 

[self presentViewController: secondViewController animated:YES completion: NULL]; 

старый способ представления контроллера Connect, как это

Connect *connect = [[[Connect alloc] initWithNibName:@"Connect" bundle:nil] autorelease]; 

[self presentViewController:connect animated:YES completion:NULL]; 
NSString *userid; 
[email protected]"123"; 

[connect setID:userid]; 

Я хочу, чтобы вызвать функцию SETID Соединим контроллера в раскадровки образом, как я могу это сделать? Кажется, я не получаю экземпляр контроллера Connect напрямую.

ответ

0

Почему вы выбрали его как UINavigationController? Просто делай то, что делаешь.

Connect* connect = [secondStoryboard instantiateViewControllerWithIdentifier:@"Connect"]; 
+0

потому что, если я это сделаю, тогда подключить viewcontroller будет кнопка назад, которую я хотел. –

1

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

В Xcode, файл (если ваше приложение не может работать на перетекает в одиночку.) -> New -> Файл -> Cocoa Touch Class. Сделайте класс вроде MyAwesomeViewController, что подклассы (в вашем случае) UINavigationController.

Мне нравится делать пользовательский метод под названием NewVC в моих пользовательских классах классов представления. Он может делать все, что приведенный выше перечень, а также любые пользовательские настройки:

+(MyAwesomeViewController *)NewVC { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName: @"MyStoryboard" bundle: nil]; 
    return [storyboard instantiateViewControllerWithIdentifier: @"MyAwesomeViewController"]; 
} 

Таким образом, когда вы хотите создать новый, вы можете просто позвонить [MyAwesomeViewController NewVC], и он будет возвращать новый экземпляр вид контроллера.