在没有UITableView的UITableViewCell中显示弹出UIAlertController

时间:2016-05-13 16:00:54

标签: swift uiviewcontroller popup uialertcontroller tableviewcell

在我的iOS应用程序中,我有一个UIViewController ViewController,它提供了一个部分由TableView组成的视图。 UITableViewCells包含一个UISegmentControl。当调用UISegmentControl的valueHasChanged动作时,我想要弹出一个弹出窗口。这是在操作中调用的代码:

//Check that the text field isn't empty:
    if self.TextField.text == "" {

        self.Status.selectedSegmentIndex = 0
        let viewController = ViewController()
        viewController.alertStatusChangedForEmptyTextField(self)
    }

这是我在ViewController类中创建的弹出窗口,它检查同一个UITableViewCell中的相邻文本字段是否为空:

//Alert function that handles when toggle is set even though there is no content.
func alertStatusChangedForEmptyTextField(sender: AnyObject) {
    let alert = UIAlertController(title: "Text field has no contents", message: "Please enter a text.", preferredStyle: UIAlertControllerStyle.Alert);
    alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Cancel, handler: nil));
    showViewController(alert, sender: self);
}

我在ViewController的viewDidLoad函数中弹出一个错误,但是来自此函数中的showViewController方法调用(我知道因为我已经尝试只注释掉这一行,然后一切正常)

如何从UITableViewCell中调用弹出窗口(ViewController)?很高兴听到涉及完全不同方法的建议(创建自定义UITableView子类?在TableViewCell类中定义的函数?)

另外,我没有根视图控制器。

1 个答案:

答案 0 :(得分:0)

检查故事板的价值,很有可能你会发现它没有;

storyboard.instantiateViewControllerWithIdentifier("PopMenuViewController") as! PopMenuViewController

我试图弄清楚如何从自定义tableview单元格元素中显示弹出窗口。如果你认为它比分享方法:)