2016-12-03 3 views
0

http://imgur.com/a/oNT6KКак создать розетку в другом контроллере?

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

+0

Зачем вам нужно создавать IBOutlet и IBAction в разных viewController? Вы можете подготовить данные с помощью переменной и передать их в IBOutlet, когда появится viewController. –

ответ

0

Без какого-либо кода я мог бы быть очень далеко - пожалуйста, если да, включите код, и это поможет нам.

Мое предположение - у вас есть UIButton в одном UIView (с ассоциированным UIViewController) и хотите иметь код в другом UIView (с другим UIViewController), знаете, что кнопка была нажата. Кроме того, ваши контроллеры открыты публично и называются «vc1» и «vc2».

Вы можете сделать это следующим образом:

VC# 1

  • UIButton называется MyButton. Хотя вам не нужно определять это в IB (с соответствующими IBOutlet и IBAction), мы предположим, что у вас есть - просто помните, вы можете сделать это полностью в коде.

VC# 2

  • Вы хотите, чтобы вызвать функцию с именем туРипсЫоп (отправитель: UIButton), со всеми соответствующими льготами, в том числе зная свойства кнопки, которая была нажата.

Вот что вы делаете:

public func buttonClicked(sender: UIButton) { 
    // your code here 
} 

Другой альтернативой является использование метода UIButton.sendAction

VC# 1

@IBOutlet weak var myButton:UIButton! 
@IBAction func tapped(_ sender: UIButton) { 
    sender.sendAction(#selector(vc2.buttonClicked:)), to: nil, for: nil) 
} 

VC#() ,

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