如何在一个视图控制器中使用两个 UIPickerView?

2024-03-23

我有两个UIPickerControllers 在一个视图控制器中。我可以让一个工作,但是当我添加第二个时,我的应用程序崩溃了。这是我用于一个选择器视图的代码:

import UIKit

class RegisterJobPosition: UIViewController, UIPickerViewDelegate {

    @IBOutlet weak var positionLabel: UILabel!

    var position = ["Lifeguard", "Instructor", "Supervisor"]

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    func numberOfComponentsInPickerView(PickerView: UIPickerView!) -> Int
    {
        return 1
    }

    func pickerView(pickerView: UIPickerView!, numberOfRowsInComponent component: Int) -> Int
    {
        return position.count
    }

    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String!
    {
        return position[row]
    }

    func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {        
        positionLabel.text = position[row]
    }
}

现在,我怎样才能让第二个选择器工作呢?假设我的第二个选择器视图被称为location(另一个叫做position)。我尝试在选择器视图方法中复制代码location但它不起作用。


这是我的解决方案:

  • 在故事板中添加两个UIPickerView您的视图的实例
  • 将第一个选择器的标签设置为1并设置2对于“属性检查器”下的第二个选择器
  • control + drag from each picker to the top yellow view controller icon and choose dataSource. Repeat the same choosing delegate
  • add UIPickerViewDataSource and UIPickerViewDelegate到你的视图控制器:

    class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate {
    
  • 在视图控制器类中,为选择器创建空数组:

    var picker1Options = []
    var picker2Options = []
    
  • In viewDidLoad(),用您的内容填充数组:

    picker1Options = ["Option 1","Option 2","Option 3","Option 4","Option 5"]
    picker2Options = ["Item 1","Item 2","Item 3","Item 4","Item 5"]
    
  • 实现委托和数据源方法:

    func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int {
        return 1
    }
    
    func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        if pickerView.tag == 1 {
            return picker1Options.count
        } else {
            return picker2Options.count
        }
    }
    
    func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        if pickerView.tag == 1 {
            return "\(picker1Options[row])"
        } else {
            return "\(picker2Options[row])"
        }
    }
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在一个视图控制器中使用两个 UIPickerView? 的相关文章

  • Xcode 12 根本没有调用动态链接 Firebase 函数?

    因此 我有一个正在运行的动态链接 当我单击它时它会打开应用程序 但不会发生动态链接的处理 这是因为下面看到的应用程序功能从未输入过 我不知道为什么 func handleIncomingDynamicLink dynamicLink Dyn
  • 动态增加UITableViewCell中UILabel的高度?

    我有一个 UITableView 其中显示一个自定义单元格 我的单元格有两个标签和一个视图 如下图所示 我已经像这样给出了左视图的约束 项目标签限制 中心视图约束 右视图的约束 I am using a bean class to stor
  • 在 Swift 中获取 UIImage 的主颜色

    我正在尝试在 Swift 中获取 UIImage 的主颜色 并尝试移植这段代码 https stackoverflow com questions 13694618 objective c getting least used and mo
  • 保存录制的 AVAudioRecorder 声音文件:现在怎么办? (iOS、Xcode 4)

    在我的应用程序中 我希望用户能够录制一个声音文件并播放它 然后保存该声音文件以供以后使用 我用了本教程 http www techotopia com index php Recording Audio on an iPhone with
  • NSHTTPCookieStorage 是否跨应用程序持续存在?

    所以我只是好奇 NSHTTPCookieStorage 是否跨应用程序持久存在 或者仅在当前应用程序本地 我希望在另一个应用程序中收集的一些 cookie 可以在搜索应用程序中访问 是这样的吗 谢谢 PS 这是在 iPhone 或 iPad
  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • iOS 自定义单元格设计放在哪里? awakeFromNib 还是 cellForRowAtIndexPath?

    所以 基本上我用笔尖做了一个定制单元 希望我应用一些定制设计 比如颜色和阴影 我发现了两种应用样式的方法 awakeFromNib override func awakeFromNib super awakeFromNib Containe
  • 如何在 iOS 上压缩 Realm DB?

    我想定期压缩 iOS 上的 Realm 实例以回收空间 我认为该过程是将数据库复制到临时位置 然后将其复制回来并使用新的default realm 文件 我的问题是Realm 其行为就像单例并回收对象 因此我无法真正关闭它并告诉它打开新的
  • 是否有适用于 iPad 2 的条码扫描仪 SDK? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 iOS 8 自定义键盘发送图像?

    我一直在为 iOS 8 开发自定义键盘 但在尝试使用键盘发送图像时偶然发现了一个问题 我做了一些研究 似乎没有一种简单的方法可以做到这一点UITextDocumentProxy因为只有NSStrings被允许 我是否忽略了使用自定义键盘发送
  • 在 Cocoa OS X AVPlayer 中播放 HLS (m3u8) - Swift

    基本上我正在尝试在 Cocoa Swift 中使用 AVPlayer 播放 m3u8 HLS Live Stream 我对这门语言比较陌生 所以基本上掌握了一些示例代码 http qiita com ono matope items 23d
  • 确定 SceneKit 中 SKVideoNode 的视频大小/长宽比

    如何从 AVPlayer 获取视频的视频大小来设置节点的几何大小 例如 我有一个具有宽度和高度的 SCNPlane let planeGeo SCNPlane width 5 height 5 所以现在我实例化我的视频播放器 let vid
  • 使用完成处理程序在 Swift 中调用连续动画

    我正在制作一个可以显示化学反应动画的应用程序 每个原子都是一个 SCNSphere 并通过 SCNActions 进行动画处理 我尝试使用 runAction 中的完成处理程序在当前操作完成后调用下一个动画 因为每个原子必须做出很多不同的运
  • 从“NSPercientStoreResult”转换为不相关类型“Entity”总是失败

    我正在创建一个小应用程序来学习 CoreData 中的多对多关系 但是 使用下面的代码 从 NSFetchResult 到实体类 Groepering 的转换出现错误 与我的项目相比 我在互联网上找到的示例没有看到任何差异 为什么转换仍然失
  • GeoFire Swift 3 - 保存和更新坐标

    我正在尝试使用 GeoFire 将坐标存储到 Firebase 数据库中 我不确定如何更新新坐标 因为它们每秒都会更改 更新 随着childByAutoId 它正在为每辆自行车生成一个新的唯一 ID 如何引用这个唯一的自行车 ID 例如 用
  • 适用于 iPhone / iPad / iOS 的快速、精益 PDF 查看器 - 提示和提示?

    最近有很多关于绘制 PDF 的问题 是的 您可以使用UIWebView但这无法提供您所期望的优秀 PDF 查看器的性能和功能 您可以绘制PDF页面到 CALayer http www cocoabuilder com archive coc
  • 如何使用 Swift 使用 TouchID?

    Apple 为 iOS 8 的 TouchID 实现提供的文档采用 Objective C 语言 有 Swift 版本吗 Objective C IBAction touchIDAvailable UIButton touchIDAvail
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • ios水平居中约束问题?

    I am having hard time in learning constraints auto layout in iOS I have used any width any height I have a storyboard sc
  • 什么是 WKWebView 中的 WKErrorDomain 错误 4

    fatal error LPWebView encounters an error Error Domain WKErrorDomain Code 4 A JavaScript exception occurred UserInfo 0x7

随机推荐

  • OpenJPA 和 Spring-boot 配置

    我正在努力解决 spring boot 应用程序的基本配置 并使用 OpenJPA 作为 jpa 实现 基本上我总是以 引起原因 org apache openjpa util MetaDataException 类型 class com
  • 使用 Felix 和 Maven 创建完整的 OSGi 应用程序

    我有一组使用 Maven 构建的 OSGi 包 我想知道是否有一个可用的 Maven 插件可以让我执行以下操作 指定要包含在发行版中的一组捆绑包和 或指定单个捆绑包并解决依赖关系 构建一个完整的分发框架 我的意思是一个包含所有需要的包的 z
  • 如何计算术语-文档矩阵?

    我知道术语文档矩阵是一个数学矩阵 描述文档集合中出现的术语的频率 在文档术语矩阵中 行对应于集合中的文档 列对应于术语 我在用sklearn 的 CountVectorizer从字符串 文本文件 中提取特征以减轻我的任务 以下代码根据以下内
  • 使用 PhpUnit 时 Composer 无法加载加载器

    我正在尝试将 PhpUnit 与 Composer 一起使用 为了这个目的我做了 1 将 phpunit 添加到 req Composer 部分 require php gt 5 3 0 require dev phpunit phpuni
  • 在sql server 2008中将varchar转换为十进制

    我将此数据作为 varchar 00072330 如何将其转换为 SQL Server 2008 中类似 723 30 的小数 尝试这个 declare data as varchar 8 set data 00072330 print c
  • VS2015 或 NP++ 中的多行正则表达式

    我需要在多个文件中替换以下模式 this dialogs 当我设置时这工作正常single line在这里标记 https regex101 com r dF2yG3 2 https regex101 com r dF2yG3 2 但是我无
  • python创建DDE服务器并不断发送数据

    我正在尝试用 python 编写一个 DDE 服务器 它需要将不断变化的字符串发送到作为 DDE 客户端连接的程序 连接到 DDE 服务器的程序使用以下 DDE 设置来连接 服务 Orbitron 主题 Tracking 项目 Tracki
  • 在额外维度上扩展 NumPy 数组

    在额外维度上扩展给定 NumPy 数组的最简单方法是什么 例如 假设我有 gt gt gt np arange 4 array 0 1 2 3 gt gt gt shape 4 gt gt gt expand np arange 4 0 6
  • 有没有办法增加 Google Chrome 中 localStorage 的大小以避免 QUOTA_EXCEEDED ERR: DOMException 22

    我编写了一个网络应用程序 允许您将图像存储在 localStorage 中 直到您点击保存 因此 如果信号较差 它可以离线工作 当 localStorage 达到 5MB 时 Google Chrome 会在 javascript 控制台日
  • 在 Python 3 中查找网站中最常见的单词 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我需要使用 Python 3 代码查找并复制在给定网站上出现超过 5 次的单词 但我不知道该怎么做 我已经浏览了有关堆栈溢出的档案 但
  • JQuery 在事件上加载脚本(点击)

    selector click function here I would like to load a javascript file let s say js script on click event js 这有可能吗 我不确定 但我记
  • 我可以在ironpython中使用命名参数和可选参数吗

    我希望在ironpython中加载 net dll 但是 net dll 中的静态函数之一有一些命名参数和可选参数 比如 绘制 重量 w 高度 h 面积 1 我只能使用完整的参数吗 完全支持命名参数和可选参数 NET 长期以来一直支持 VB
  • 为什么在非 ARC 环境中的属性上使用关键字“strong”?

    我刚刚开始使用 Xcode 4 2 和 iOS5 进行开发 创建空的选项卡式应用程序项目后 我注意到属性上使用了新的关键字 strong 我继续读下去这个帖子 https stackoverflow com questions 670102
  • HTML 'class' 元素属性可以包含换行符吗?

    HTML5 元素的 class 属性可以包含换行符吗 规范中是否允许并且浏览器支持它吗 我问这个问题是因为我有一些代码可以动态地将各种类插入到元素中 这创建了一个很难管理的很长的行 通常我会使用变量构建类值 但我使用的 CMS 要求模板条件
  • Thread.start() 和 Thread.run() 有什么区别?

    为什么我们称start 方法 该方法又调用run method 我们不能直接打电话吗run 请举例说明有什么区别 不 你不能 调用run就会执行run 方法在同一个线程中 无需启动新线程
  • 模板函数的模板参数

    我刚刚发布了一个skiplist容器库 Sun 编译器对此有抱怨 template
  • canvas getContext("2d") 返回 null

    我已经尝试了几种不同的方法 但我一直遇到同样的错误 我之前已经将图像加载到画布上 但自从几天前更新了 Safari 以来 我遇到了错误 我将发布我目前拥有的内容 但我尝试使用 jQuery html 的 onLoad 属性等来实现 var
  • Array 和 ArrayCollection(Flex) 的区别

    数组和数组集合有什么区别 首先 ArrayCollection是为Flex框架设计的 它的作用就像一个Proxy对于给定的Array实例 这意味着它可以侦听对源代码所做的修改Array并在发生这种情况时自行更新 它还包含框架特别需要的附加方
  • “开始..提交;” SQLite 失败

    我正在尝试学习如何使用BEGIN COMMIT在 SQLite 中 我正在尝试这段代码 BEGIN INSERT INTO fields VALUES field1 COMMIT 但它失败了 Error near INSERT syntax
  • 如何在一个视图控制器中使用两个 UIPickerView?

    我有两个UIPickerControllers 在一个视图控制器中 我可以让一个工作 但是当我添加第二个时 我的应用程序崩溃了 这是我用于一个选择器视图的代码 import UIKit class RegisterJobPosition U