我有一個應用安裝程序,使其具有帶有「設置按鈕」的導航欄的主根視圖控制器。當用戶點擊設置按鈕時,它會彈出一個不是動態的「settingsTableViewController」,而是靜態的,所以我可以使用style等設置來格式化tableviews。將Pop-over ViewController UITextfield中的數據傳遞迴Master ViewController
在這個設置視圖中,我有一個UITextField需要一個人的名字。
當用戶在導航欄中單擊「完成」時,我想將該名稱傳回主根視圖控制器,以便我可以在標題中使用它來顯示人名。 (我想通過解僱視圖時通過名稱)
我試圖使用賽格的,但沒有運氣。這是我嘗試過的一點。
SettingsViewController(流行的在MasterVC)
class SettingsTableViewController: UITableViewController {
@IBOutlet weak var nameTextfield: UITextField!
@IBAction func done(sender: AnyObject) {
self.dismissViewControllerAnimated(true, completion: nil)
}
override viewDidLoad(){
self.title = "Settings"
}
// MARK: - Navigation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Trying to pass what was typed in the textfield to the Root ViewController and store this name in a variable of type String called 'name'
if segue.identifier == "masterView"{
let masterViewController = segue.destinationViewController as! MasterTableViewController
masterViewController.name = nameTextField.text
print("Segue was used")
}
}
}
MasterTableViewController.swift
class MasterTableViewController: UITableViewController {
var name: String!
// I am trying to then display the name entered in the pop-over view in this root view controller's title
override viewDidLoad(){
self.title = name!
}
}
我的問題是,我做了什麼錯?我試圖使用委託,但我得到零,數據似乎並沒有通過任何方式,所以任何線索將大大幫助。謝謝
一個問題:我走進我的故事板,被點擊在SettingsVC tableview上,按照你所說的(在視圖中的任何位置)拖動到它自身頂部的Exit圖標(如你所說)並且什麼也沒有發生,我從Master ViewController中取消了這個設置視圖的鏈接,並且從現在開始 在其自己的。 (MasterVC有一個名爲「設置」的左上角按鈕,調用了這個設置VC – Amit
對不起,我忘了說你需要將IBAction goBack放入你的主人,然後才能繼續退出故事板中的按鈕 – Lukas
謝謝,當我按'設置'按鈕來調出模態視圖來將數據放入文本框中時,當我點擊完成時,什麼也沒有發生。 – Amit