2015-09-02 11 views
11

को खारिज करने के लिए "पूर्ण" बटन जोड़ें, मैं एक तेज़ नौसिखिया हूं और एक डेमो ऐप बनाया है जिसमें स्टोरीबोर्ड में UIViewController और UITableViewController है। UIViewController में एक संग्रह दृश्य और एक एम्बेडेड नेविगेशन नियंत्रक है। एक संग्रह दृश्य सेल टैप करने पर, ऐप UITableViewController को segues। मैं UITiewViewController से भी अपने UIViewController पर वापस आ सकता हूं। यह सब ठीक काम करता है। अब, मेरे UITableViewController में कुछ पंक्तियों में यूआरएल हैं। एक यूआरएल टैप करने पर, मैं प्रोग्रामेटिक रूप से UIviewcontroller के अंदर एक वेबव्यू बना देता हूं और यूआरएल को इसमें लोड करने के लिए मिलता हूं। मुद्दा यह है कि मैं वेबव्यू को खारिज नहीं कर सकता और इसके बाद अपने UITableViewController पर वापस आ सकता हूं।प्रोग्रामेटिक रूप से बनाए गए UIViewController

// When user taps a row, get the URL and load it in a webview 
let mywebViewController = UIViewController() 
let webView = UIWebView(frame: mywebViewController.view.bounds) 
webView.loadRequest(NSURLRequest(URL: url)) // url from the row a user taps 
mywebViewController.view = webView 
self.navigationController!.presentViewController(mywebViewController, animated: true, completion: nil) 

मैं इस प्रोग्रामेटिक रूप से बनाने UIViewController करने के लिए एक हो गया बटन जोड़ सकते हैं वेबव्यू को खारिज करने और अपने प्रस्तुत करने के लिए

उत्तर

0

जोड़ें बटन किया मेरी UITableViewController करने के लिए वापस पाने के लिए: यह कोड मैं अपने UITableViewController कक्षा में है ViewController और इसके लिए एक कार्रवाई करें। ViewController इस कोशिश को खारिज करने के लिए:

self.dismissViewControllerAnimated(true, completion: nil) 
0

mywebViewController में और उसके @IBAction में बटन जोड़ें, फोन

self.dismissViewControllerAnimated(true, completion: nil) 
17

आप लपेट कर सकते हैं एक UINavigationController में mywebViewController तो UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss") इस तरह के rightBarButtonItem सेट:

let navController = UINavigationController(rootViewController: mywebViewController) 
mywebViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .Done, target: self, action: "dismiss") 

self.navigationController!.presentViewController(navController, animated: true, completion: nil) 

और dismiss मज़े जोड़ें अपने UITableViewController में ction है:

func dismiss() { 
    self.dismissViewControllerAnimated(true, completion: nil) 
} 
+0

बल्कि सहायक! – Aaronium112

0

आप एक बात कर सकते हैं।

जैसा कि आप नेविगेशन नियंत्रक में अपने mywebViewController को दबा रहे हैं, नेविगेशन बार को दृश्यमान बनाएं।

नेविगेशन बार में बैक बटन पर टैप करके आप आसानी से mywebViewController को खारिज कर सकते हैं।

उम्मीद है कि यह आपकी मदद करता है। :)

+0

'कोड: self.navigationController! .pushViewController (mywebViewController, एनिमेटेड: सत्य) 'मुझे वेबदृश्य से UITableViewController पर वापस आने की अनुमति देता है। लेकिन मैं "presentViewController" – smokinguns

+0

का उपयोग करके परीक्षण करना चाहता हूं, फिर उस स्थिति में आपको नेविगेशन बार में एक बटन जोड़ने की आवश्यकता है और बटन की कार्रवाई में self.dismissViewControllerAnimated (true, complet: nil) करें। –

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