2016-09-05 8 views
7

मेरे पास 2 व्यू कंट्रोलर हैं जिन्हें उपयोगकर्ता इनपुट के अनुसार बदला जाना चाहिए। इसलिए, मैं पाठ फ़ाइल से प्राप्त इनपुट के आधार पर प्रोग्रामिक रूप से विचारों को स्विच करना चाहता हूं।स्विफ्ट: प्रोग्रामेटिक रूप से बटन पर क्लिक कैसे करें?

Algorithm : 
if(input == 1) 
{ 
    Go to View Controller 1 
} 
else if(input ==2) 
{ 
    Go to View Controller 2 
} 

प्रोग्राम को प्रोग्रामेटिक रूप से क्लिक करने या इनपुट के साथ उस विशेष व्यू कंट्रोलर को लोड करने के तरीके पर कोई मदद!

उत्तर

36

प्रोग्राम के रूप में एक ईवेंट सक्रिय करने के लिए आप sendActionsForControlEvent

button.sendActionsForControlEvents(.TouchUpInside) 

कॉल करने के लिए की जरूरत है -

स्विफ्ट 3

button.sendActions(for: .touchUpInside) 
+0

यह एक आकर्षण की तरह काम किया :) – Coding4Life

+0

एक जवाब के रूप में यह स्वीकार करता है, तो यह आपको मदद की कहते हैं। –

+1

क्षमा करें! जल्दी में था तो ऐसा करने के लिए भूल गया :) – Coding4Life

3

या फिर आप सब तर्क यह है कि को निष्पादित करते डाल सकते हैं एक बटन को एक अलग विधि में क्लिक किया जाता है, और उस विधि को अपने बटन के चयनकर्ता विधि से कॉल करें।

@IBAction func someButtonPressed(button: UIButton) { 
    pushViewControllerOne() 
} 

@IBAction func someButtonPressed(button: UIButton) { 
    pushViewControllerTwo() 
} 

func pushViewControllerOne() { 
    let viewController = ViewControllerOne(nibName: "ViewControllerOne", bundle: nil) 
    pushViewController(viewController) 
} 

func pushViewControllerTwo() { 
    let viewController = ViewControllerOne(nibName: "ViewControllerTwo", bundle: nil) 
    pushViewController(viewController) 
} 

func pushViewController(viewController: UIViewController) { 
    navigationController?.pushViewController(viewController, animated: true) 
} 

तो प्रोग्राम के लागू एक बटन दबाने की लागू करने के बजाय, बस विधि pushViewControllerOne() या pushViewControllerTwo()

संबंधित मुद्दे