2015-02-27 2 views
1

в моей раскадровке xcode У меня есть стандартный viewController, в который я разместил одну кнопку с выходом Action.Как я могу отобразить другой (изменить) ViewController, когда я нажимаю кнопку

Я пробовал использовать .xib, который не загружается. Кроме того, я попытался использовать второй ViewController в раскадровке и пользовательский сегмент, но это также не удалось.

Есть что-то, что я сделал не так. Может ли кто-нибудь помочь мне, пожалуйста?

+0

Скриншот раскадровки с некоторыми кодами, может быть? – Raptor

+0

Раскадровка: http://i61.tinypic.com/rqwxs4.png и код: http://i58.tinypic.com/bejac6.png –

+1

Почему вы просто не поместили код и скриншот в свой вопрос? Кроме того, в вашем коде есть ошибки. И вы пытаетесь загрузить раскадровку, которая, похоже, не существует в проекте. –

ответ

0

Если вы используете Segues, вам не нужно создавать ViewController и пытаться отобразить его таким образом. Просто дайте имя (unqiue) вашему ViewController (например, если вы не хотите использовать «NavigationController», вы должны использовать «Modal» как Type. Также вы должны добавить класс ViewController для каждого ViewController в Storyboard.

So подключить ViewController1 с вашей второй View Controller и дать им название «loginModal»

Тогда в вашем IBAction, вы можете использовать:..

self.performSegueWithIdentifier("loginModal", sender: self) 

Это должно быть все Если вы хотите передать данные между ViewControllers, вы должны использовать prepareForSegue. Посмотрите мой ответ здесь, вы найдете больше информации о отправке данных с помощью segues.

Sending data with Segue with Swift

+0

благодарю вас за это, но мне нужно решение для OS X, а не для iOS. Я не буду создавать новое окно, я обновлю содержимое в том же окне –

+0

О, извините, только проверил тег «swift». – derdida

0

Вы можете попробовать как этот

Поместите этот код внутри @IBAction кнопки.

let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) 
     let loginViewController = storyBoard.instantiateViewControllerWithIdentifier("LoginView") as loginViewController 
     self.presentViewController(loginViewController, animated:true, completion:nil) 

Не забудьте установить имя идентификатора в loginViewController.

enter image description here

+0

Благодарим вас за это, но в OS X у вас нет UIStoryboard, нет ничего с UI, как в iOS. Что-то другое? –

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