Ios 如何在swift的UIAlertView中添加UITableView
如何在UIAlertView中动态添加UITableView。将UIAlertView的子视图添加到UITableView后,它不会显示Ios 如何在swift的UIAlertView中添加UITableView,ios,swift,uitableview,uialertview,Ios,Swift,Uitableview,Uialertview,如何在UIAlertView中动态添加UITableView。将UIAlertView的子视图添加到UITableView后,它不会显示 override func viewDidLoad() { super.viewDidLoad() tableView.frame = CGRectMake(0, 50, 320, 200); tableView.delegate = self tableView.dataSource
override func viewDidLoad() {
super.viewDidLoad()
tableView.frame = CGRectMake(0, 50, 320, 200);
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
}
@IBAction func textFieldCliked(sender: AnyObject) {
alertView.message = "table view"
alertView.addButtonWithTitle("Ok")
alertView.addSubview(tableView)
alertView.show()
}
我不认为您可以使用
UIAlertView
,但是您可以创建一个小视图并以模式方式显示它,或者类似于UIPopoverPresentationController
的方式在Swift中创建UITableView:
AlertViewController
中调用它的一个实例let alertController : UIAlertController = UIAlertController(title: "Select email ID", message: nil, preferredStyle: .Alert)
alertController.view.backgroundColor = UIColor.whiteColor()
alertController.view.layer.cornerRadius = 8.0
let contactNumVC = contactNumberTableViewController ()
contactNumVC.count = emailIDs.count
contactNumVC.numbersArray = emailIDs
contactNumVC.preferredContentSize = CGSizeMake(alertController.view.frame.width, (44 * CGFloat(emailIDs.count)))
alertController.setValue(contactNumVC, forKeyPath: "contentViewController")
为了在应用程序的多个位置使用表/图像或自定义按钮操作的警报类型行为,我创建了一个包含所有这些示例的示例项目Generic popover。这不是使用转换委托。 这个项目还演示自定义字体和颜色,以调整到您的应用程序主题 在序列图像板中创建自定义tableview/imageview/按钮,并按如下方式调用
if let vc = self.storyboard?.instantiateViewController(withIdentifier: "TableContentViewController") as? TableContentViewController{
vc.modalPresentationStyle = .overCurrentContext
vc.popOverDelegate = self
self.present(vc, animated: false, completion: nil)
}
更多信息请访问链接
我没有在这里添加let alertView=UIAlertView()。但我已经在代码中添加了。。仍然不起作用。您不能这样做。只是为了在您的项目和添加按钮中首先,
UIAlertView
在iOS 8中被弃用,所以您可能应该看看。其次,警报并不是为了包含自定义子视图(如TableView)而设计的。考虑将您的表呈现在一个模态中,因为警报被设计为允许用户从一些可用的动作中做出选择。