首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在swift 4中将TableView添加到AlertController

在Swift 4中,我们可以通过以下步骤将TableView添加到AlertController:

  1. 创建一个AlertController对象:let alertController = UIAlertController(title: "标题", message: "消息", preferredStyle: .alert)
  2. 创建一个TableView对象:let tableView = UITableView(frame: CGRect(x: 0, y: 0, width: 250, height: 200), style: .plain)
  3. 设置TableView的数据源和代理:tableView.dataSource = self tableView.delegate = self
  4. 注册TableViewCell:tableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell")
  5. 实现TableView的数据源方法:extension YourViewController: UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return yourDataArray.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) cell.textLabel?.text = yourDataArray[indexPath.row] return cell } }
  6. 实现TableView的代理方法:extension YourViewController: UITableViewDelegate { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // 处理选中某一行的逻辑 } }
  7. 将TableView添加到AlertController:alertController.view.addSubview(tableView)
  8. 添加一个取消按钮:let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil) alertController.addAction(cancelAction)
  9. 显示AlertController:present(alertController, animated: true, completion: nil)

这样就可以在Swift 4中将TableView添加到AlertController了。TableView可以用于显示一系列选项供用户选择,适用于需要用户从多个选项中进行选择的场景。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

RxSwift 与 BLE 实战——VisualBlue

公司的项目正从 OC 向 Swift 迁移,之前蓝牙部分还全是用 OC 写的,各种 delegate 和 notification 满天飞,看着都头疼。...扫描设备的整个流程大致是这样的: 筛选蓝牙状态,将除.PoweredOn之外的状态过滤掉 扫描设备 筛选设备,将已出现过的设备过滤掉 将扫描到的新设备添加到设备列表中 用设备列表构建一个dataSource...,并与tableView绑定 将资源添加到disposeBag中,以待统一回收处理 这个过程用 Rx 的风格来写大概是这样的: func bindDataSource() { manager.rx_state...self.performSegueWithIdentifier(SegueId.ShowCharacteristics, sender: peripheral) case .Error(let error): let alertController...Connect Failed", message: "Error: \(error)", preferredStyle: .Alert) self.presentViewController(alertController

1.1K20

【IOS开发基础系列】UIAlertController专题

版本和Objective-C版本不同,swift中,alertView的初始化只允许创建拥有一个取消按钮的对话框视图。...通过创建UIAlertAction的实例,您可以将动作按钮添加到控制器上。UIAlertAction由标题字符串、样式以及当用户选中该动作时运行的代码块组成。...为了实现原来我们创建UIAlertView时创建的按钮效果,我们只需创建这两个动作按钮并将它们添加到控制器上即可。     ...(alertController, animated: true, completion: nil) UIAlertController默认样式         按钮显示的次序取决于它们添加到对话框控制器上的次序...本文的代码可以我的Github主页上找到,包括了AlertController - ObjC以及AlertController - swift

34730

iOS 9 Storyboard 教程(二下)

接下来,PlayerDetailsViewController.swift里添加下面这个方法: override func prepareForSegue(segue: UIStoryboardSegue...添加了新的一行(底部),因为tableView和它的数据源始终是同步的....现在让我们给这个新的控制器一些数据来显示吧.GamePickerViewController.swift中,把一个具有硬编码值的games字符串数组添加到顶部: var games:[String]...PlayerDetailsViewController.swift里,类的顶部,添加一个属性来保存选中的游戏,那样你就可以Player对象存储它.给它一个默认的名字”Chess”,那样你就会一个新的玩家始终都会有衣蛾选中的游戏名字...仍然PlayerDetailsViewController.swift,添加到prepareForSegue(_:sender:)的末尾: if segue.identifier == "PickGame

2.2K10

iOS开发之UITableView联动实现城市选择器

iOS开发之城市选择器一文中用两列的UIPickerView实现了城市选择器,今天用两个UITableView来实现一下,首先这种联动很多地方用得上,而且方法有好几种,我这里选择了个人喜欢的一种方式...3、监听左边表格控制器的点击事件,它的点击事件中刷新右边的表格 这时候就有问题了,一个控制器要成为2个UITableView的数据源和代理,怎么办?...添加和准备工作.png 2、控制器中实现功能,具体代码如下,注释非常详细: #import "ViewController.h" @interface ViewController () <UITableViewDataSource...== tableView) { UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"leftCell...dismissViewControllerAnimated:YES completion:nil]; }]]; // 3.显示alertController

2.1K60

抓住iOS的未来 - 30天学习编写30个Swift小程序

4年了,听说Swift也已经有两年多,但是一直都只是把学习停留在表面。...无意中听说了有一个叫Sam LuTwitter上发起了一个100天做40个Swift小程序的活动,再加上国内看到了Allen_朝辉写的Swift学习的文章,心里暗自下了一个决定:30天写30个Swift...其实我并不是唯一国内发起这个30天30个Swift小程序并且将其开源的作者,但是我可能是唯一一个从头到尾用XCode 8 + Swift3环境编写的作者。...input,output等重要信息都添加到session以后,可以用session创建AVCaptureVideoPreviewLayer,这是摄像头的视频预览层。...tableView中,即可 Project 4 - Limited Input Text Field Limit Input Text Field.gif 我学到了 通过新建UIBarButtonItem

2.4K20

RxSwift介绍(一)——RxSwift初探

swift环境下,RAC的孪生兄弟RxSwift同样提供了相同的框架使用,并且基于swift语言的优点,RxSwift甚至能够更简洁地开发业务代码。关于RxSwift的优点,大把大把的人在夸。...接下来先看一个最常用的例子,swift环境中搭建一个简单的tableView。..., secondKey: 4)] } 生成好了数据之后初始化,再来看看tableView的代码实现 ?...tableViewswift环境下的实现 遵循的tableView代理方法还是一如既往的繁多 接下来,使用RxSwift框架下改造上面的tableView,来感受下RxSwift的强大。..., secondKey: 4)]) } 使用RxSwift框架实现的tableView,与原生实现的代码差异 不再需要声明遵循tableView的DataSource与delegate代理以及实现所有代理方法

2.9K40

窥探Swift之协议(Protocol)和委托代理(Delegate)回调的使用

说到协议,Objective-C中也是有协议的,并且Swift中的协议和Objc中的协议使用起来也是大同小异的,Java等现代面向对象编程语言中有接口(Interface)的概念,其实和Swift中或者...上面的Cell中就是一个ImageView和一个Label, 布局灰常简单啦,接下来就简单介绍一下Swift中是如何实现(说白了,和Objc实现起来大同小异)。...1 /** 2 返回每个Section中的Cell个数 3 4 - parameter tableView: 当前显示的TableView 5...这个协议可以定义EditViewController.swift源文件中。协议定义之前,先对什么是协议简单的提上一嘴。...上面的场景iOS开发中极为常见,使用场景也是比较广泛的。所以协议无论Swift还是iOS开发中都是极为重要的概念之一。

3.3K80
领券