繁体   English   中英

从Swift中的PopOver UITableViewCell选择更改UITextField中的值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM