[英]Change value in UITextField from PopOver UITableViewCell selection in Swift
我正在开发一个iOS
Xcode7 Swift2
项目。 我有一个AddViewController
,它的UITextField
旁边是一个UIButton
。 按下它会带来一个新的PopOverViewController
。
启动PopOver
的代码是:
let bounds = UIScreen.mainScreen().bounds
let center = bounds.width/2
var popoverContent = (self.storyboard?.instantiateViewControllerWithIdentifier("PopOverViewController"))! as UIViewController
var nav = UINavigationController(rootViewController: popoverContent)
nav.modalPresentationStyle = UIModalPresentationStyle.Popover
var popover = nav.popoverPresentationController
popoverContent.preferredContentSize = CGSizeMake(200,115)
popover!.delegate = self
popover!.sourceView = self.view
popover!.sourceRect = CGRectMake(center,140,0,0)
self.presentViewController(nav, animated: true, completion: nil)
然后,我看到如下图所示的PopOverViewController
:
新的PopOverViewController
有一个UITableView
。 我想要这样,当用户在UITableView
选择一个文件夹时,它将名称从“ General”(在这种情况下)更改为原始AddViewController
中的“ Misc”。 我该怎么做呢?
我已经在PopOverViewController
didSelectRowAtIndexPath
尝试过:
let selected = selectableFolders[indexPath.row]
selectedFolder = selected
let priorViewController: AddViewController()
priorViewController.folderName.text = selectedFolder
但是,这不起作用。 有人可以帮帮我吗? 谢谢!
let selected = selectableFolders[indexPath.row]
selectedFolder = selected
[ let priorViewController: AddViewController() ]
priorViewController.folderName.text = selectedFolder
我认为这段代码确实可以正常工作,但有一个问题是获取了PriorViewController。 您不应该在封闭的行中创建另一个实例(让PriorViewController:AddViewController()而是从应用程序委托获取视图,这是我在我的一个项目中所做的操作,让(((UIApplication.sharedApplication().keyWindow?.rootViewController)as? LoginViewController)?.presentedViewController)?.childViewControllers[1] as? Messages
= (((UIApplication.sharedApplication().keyWindow?.rootViewController)as? LoginViewController)?.presentedViewController)?.childViewControllers[1] as? Messages
messagesVC?.inputToolbar.contentView.textView.text = selected joke!
这一切都在我的didselectrow中。 加上使细胞与您的细胞相似的代码。 您的视图层次可能不同,您可以让我看一下该层次还是先试试上述方法。 注意:由于您在同一页面上,因此请先尝试更新视图,也许它不会被重绘,但是我认为我给出的第一个代码将解决该问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.