如何从 UIViewcontroller 的弹出窗口中的 UItableview 中填充数据?
How to fill data in UItableview in popover from UIViewcontroller?
我认为这是一个简单的问题。我看过其他解决方案,但他们错过了我的关键步骤。
IOS: fill a popover with a tableview
如何在弹出窗口中将一组值推入空 table?
数据已正确加载并在我的变量 listOfFiles
中返回,弹出窗口成功启动并显示空 table。
现在我错过了如何获取对 UITableview 的引用的概念?在我的弹出窗口中用 plist 中的数据填充它?
我需要添加 UITableViewDataSource, UITableViewDelegate
到我的 UIViewController 吗?
//MARK:buttons to save and load defaults
@IBAction func loadState(sender: UIButton) {
if(dbg){println("loaded State")}
//get list of plist files
var listOfFiles: [String] = getSavedState()
if(dbg){
for index in listOfFiles {
println("file name is \(index)")
}
}
//how to shove the data into the table??
//MARK:idPopupFileTable
let popoverVC = storyboard?.instantiateViewControllerWithIdentifier("idPopupFileTable") as UIViewController
popoverVC.modalPresentationStyle = .Popover
popoverVC.preferredContentSize = CGSizeMake(300, 200)
if let popoverController = popoverVC.popoverPresentationController {
popoverController.sourceView = sender
popoverController.sourceRect = sender.bounds
popoverController.permittedArrowDirections = .Any
popoverController.delegate = self
}
presentViewController(popoverVC, animated: true, completion: nil)
}
我尝试了很多方法,但似乎无法从 popoverVC
到 table 获得 IBOutlet
。我可以如下所示设置引用网点,但似乎无法创建 IBOutlet。
这是故事板上 popoverVC 的样子,与 mainVC 没有直接的 segue 连接。
您的 popoverVC
应该有一个 IBOutlet
到它的 table,并且应该实现数据源和委托方法。该控制器还应该有一个数组 属性(在我下面的代码中称为 dataArray
),您可以在创建 popoverVC
.
时将数组传递给该数组
let popoverVC = storyboard?.instantiateViewControllerWithIdentifier("idPopupFileTable") as UIViewController
popoverVC.modalPresentationStyle = .Popover
popoverVC.preferredContentSize = CGSizeMake(300, 200)
popoverVC.dataArray = liseOfFiles
我认为这是一个简单的问题。我看过其他解决方案,但他们错过了我的关键步骤。
IOS: fill a popover with a tableview
如何在弹出窗口中将一组值推入空 table?
数据已正确加载并在我的变量 listOfFiles
中返回,弹出窗口成功启动并显示空 table。
现在我错过了如何获取对 UITableview 的引用的概念?在我的弹出窗口中用 plist 中的数据填充它?
我需要添加 UITableViewDataSource, UITableViewDelegate
到我的 UIViewController 吗?
//MARK:buttons to save and load defaults
@IBAction func loadState(sender: UIButton) {
if(dbg){println("loaded State")}
//get list of plist files
var listOfFiles: [String] = getSavedState()
if(dbg){
for index in listOfFiles {
println("file name is \(index)")
}
}
//how to shove the data into the table??
//MARK:idPopupFileTable
let popoverVC = storyboard?.instantiateViewControllerWithIdentifier("idPopupFileTable") as UIViewController
popoverVC.modalPresentationStyle = .Popover
popoverVC.preferredContentSize = CGSizeMake(300, 200)
if let popoverController = popoverVC.popoverPresentationController {
popoverController.sourceView = sender
popoverController.sourceRect = sender.bounds
popoverController.permittedArrowDirections = .Any
popoverController.delegate = self
}
presentViewController(popoverVC, animated: true, completion: nil)
}
我尝试了很多方法,但似乎无法从 popoverVC
到 table 获得 IBOutlet
。我可以如下所示设置引用网点,但似乎无法创建 IBOutlet。
这是故事板上 popoverVC 的样子,与 mainVC 没有直接的 segue 连接。
您的 popoverVC
应该有一个 IBOutlet
到它的 table,并且应该实现数据源和委托方法。该控制器还应该有一个数组 属性(在我下面的代码中称为 dataArray
),您可以在创建 popoverVC
.
let popoverVC = storyboard?.instantiateViewControllerWithIdentifier("idPopupFileTable") as UIViewController
popoverVC.modalPresentationStyle = .Popover
popoverVC.preferredContentSize = CGSizeMake(300, 200)
popoverVC.dataArray = liseOfFiles