Как показать SomeViewControler с помощью кода?

Я новичок в разработке Xcode и iOS. Я пытаюсь понять, как открыть/показать какой-либо вид на основе нажатия кнопки. Я знаю, что могу сделать это, используя ctrl + щелчок мышью на некотором ViewController, используя переход, но мне нужно добавить некоторую логику раньше. Как я могу это сделать?


person Nikola Jovic    schedule 02.10.2012    source источник


Ответы (2)


Есть два способа заставить работать переходы.

Вы можете либо перетащить Ctrl от кнопки к новому ViewController (как вы сделали), либо вы можете перетащить Ctrl от одного ViewController к новому ViewController (перетащите от маленького оранжевого квадратного значка на панели под VC).

В обоих случаях вы можете установить идентификатор в создаваемом переходе. Это используется для ссылки на него в коде.

Когда вы делаете первый способ, вы говорите: «При нажатии этой кнопки перейдите к этому ViewController». Это означает, что всякий раз, когда эта кнопка нажата, она будет перемещаться к новому VC.

Второй способ просто сообщает раскадровке, что будет переход к новому VC. Чтобы запустить его, вы должны добавить IBAction к своей кнопке (вместо перехода).

В действии для кнопки у вас есть...

- (IBAction)buttonPressed:(id)sender
{
    if (someConditionToCheckMoveToNewVC)
    {
        [self performSegueWithIdentifier:@"mySegue" sender:nil];
    }
}

Затем этот переход будет выполняться только в том случае, если проверенное вами условие истинно.

Вы также можете передать информацию в новый VC следующим образом...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NewViewController *nvc = segue.destinationViewController;

    nvc.someProperty = @"blah";
}

это затем установит свойство в новом VC перед переходом к нему.

person Fogmeister    schedule 02.10.2012
comment
Большое спасибо. Это прекрасно работает! Даже мне нужно передать информацию! - person Nikola Jovic; 03.10.2012

Читайте документы Apple — начинайте разрабатывать приложения и просмотреть основы контроллеров

person AlienMonkeyCoder    schedule 02.10.2012
comment
Хорошие статьи. Я прочитал первую, но мне нужно больше времени, чтобы лучше изучить разработку iOS. Спасибо... - person Nikola Jovic; 03.10.2012