Я новичок в разработке Xcode и iOS. Я пытаюсь понять, как открыть/показать какой-либо вид на основе нажатия кнопки. Я знаю, что могу сделать это, используя ctrl + щелчок мышью на некотором ViewController, используя переход, но мне нужно добавить некоторую логику раньше. Как я могу это сделать?
Как показать SomeViewControler с помощью кода?
Ответы (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 перед переходом к нему.
Читайте документы Apple — начинайте разрабатывать приложения и просмотреть основы контроллеров