ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

5 分钟快速上手 SwiftyPickerPopover:Swift 弹出选择器的首个 Demo 教程

5 分钟快速上手 SwiftyPickerPopover:Swift 弹出选择器的首个 Demo 教程 5 分钟快速上手 SwiftyPickerPopoverSwift 弹出选择器的首个 Demo 教程【免费下载链接】SwiftyPickerPopoverA more convenient way to display a popover with a built-in picker, on iPhone/iPad of iOS9.项目地址: https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopoverSwiftyPickerPopover 是一款专为 iOS 9 打造的开源 Swift 弹出选择器库它的定位非常纯粹用几行链式代码就能在 iPhone 或 iPad 上弹出「自带内置选择器」的 Popover让你彻底告别手写UIPopoverController的繁琐。无论你是想做一个字符串下拉选择、多列联动选择、日期选择还是倒计时选择它都替你封装好了。这篇面向新手的 SwiftyPickerPopover 快速上手教程会带你 5 分钟跑通第一个 Demo并顺带掌握DatePickerPopover、StringPickerPopover等高频用法看完就能直接用到自己的项目里。为什么选择 SwiftyPickerPopoveriOS 弹出选择器的轻量方案在 iOS 开发里让用户「从一堆选项里挑一个」是再常见不过的需求。原生方案要么是已经废弃的UIPopoverController要么是布局受限的UIAlertController都谈不上顺手。SwiftyPickerPopover 的出现就是为了解决这个痛点✅ 简单一条链式调用即可弹出无需 storyboard 手动连线✅ 现代基于 Swift 5 编写支持 iOS 9不依赖已废弃 API✅ 灵活四种内置选择器 丰富的配置方法还支持回调✅ 免费MIT 协议可放心用于商业项目项目源码结构非常清晰核心代码集中在 SwiftyPickerPopover 目录下所有选择器的公共能力都沉淀在 AbstractPopover.swift 中感兴趣的话可以顺着它阅读。环境准备与一键安装步骤上手前先确认环境Xcode 11、iOS 9 真机或模拟器以及 CocoaPods 1.1.0 以上或 Carthage 0.12.0。方式一CocoaPods 安装推荐在项目根目录的Podfile中加入一行然后执行pod installplatform :ios, 9.0 use_frameworks! target 你的项目名 do pod SwiftyPickerPopover end方式二直接体验官方 Demo想先看效果再决定直接克隆仓库用 Xcode 打开SwiftyPickerPopover.xcodeproj运行 Demo target 即可里面已经写好了全部四种选择器的演示代码示例入口在 Demo/SampleViewController.swiftgit clone https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopover无论哪种方式装好后在你的 Swift 文件顶部加上import SwiftyPickerPopover就可以开始写第一个 Demo 了。5 分钟跑通首个 Demo创建 StringPickerPopover最小可用示例在按钮的点击事件里写这几行一个带「确认 / 取消」按钮的字符串弹出选择器就出现了StringPickerPopover(title: StringPicker, choices: [value 1, value 2, value 3]) .setDoneButton(action: { popover, selectedRow, selectedString in print(done row \(selectedRow) \(selectedString)) }) .setCancelButton(action: { _, _, _ in print(cancel) }) .appear(originView: sender, baseViewController: self)注意它的两个关键点一是所有配置方法都返回Self所以可以无限链式拼接二是最后必须调用appear(originView:baseViewController:)指定「从哪里弹出」和「挂在哪个控制器上」选择器才会真正显示出来。进阶玩法带图片与自定义显示字符串选择器还可以给每个选项配图通过setImageNames()传入 Assets 里的图片名即可setDisplayStringFor()则能把原始值和显示值解耦——比如数据是英文界面上想显示 emoji 表情StringPickerPopover(title: with image, choices: [value 1, value 2]) .setImageNames([imageIcon, thumbUpIcon]) .setSize(width: 280) .setValueChange(action: { _, _, s in print(current: \(s)) }) .appear(originView: sender, baseViewController: self)第二种常用类型DatePickerPopover 日期选择器选日期同样简单。指定模式为.date设置默认选中日期和回调即可DatePickerPopover(title: DatePicker) .setDateMode(.date) .setSelectedDate(Date()) .setDoneButton(action: { popover, date in print(selectedDate \(date)) }) .setCancelButton(action: { _, _ in print(cancel) }) .appear(originView: sender, baseViewController: self)它还支持时间模式.time、.dateAndTime以及setMinimumDate()/setMaximumDate()限定可选范围、setMinuteInterval(5)让时间以 5 分钟为步进。更贴心的是配合setClearButton()可以实现「一键重置」点击 Clear 后通过回调里的popover.setSelectedDate(Date()).reload()把选择器拨回当前日期效果见下图。四种弹出选择器类型一览SwiftyPickerPopover 一共内置四种选择器覆盖了绝大多数业务场景类型对应类适用场景字符串选择器StringPickerPopover单选文本、带图标的选项、下拉菜单多列字符串选择器ColumnStringPickerPopover省市区联动、分类筛选等复合选择日期选择器DatePickerPopover生日、预约日期、时间点选择倒计时选择器CountdownPickerPopover闹钟、番茄钟、时长设置多列选择器同样是一条链式调用搞定比如两列分别选「早午晚餐」和「菜品」ColumnStringPickerPopover( title: Columns Strings, choices: [[Breakfast, Lunch, Dinner], [Tacos, Sushi, Steak]], selectedRows: [0, 0], columnPercents: [0.5, 0.5] ) .setDoneButton(action: { _, rows, strings in print(rows, strings) }) .appear(originView: sender, baseViewController: self)常用配置 API 速查让弹出选择器更顺手所有选择器共享同一套公共配置方法记下这几个就够日常使用了外观setSize(width:height:)改尺寸、setFontSize()/setFontColor()改文字、setCornerRadius()改圆角行为setPermittedArrowDirections(.down)限定箭头方向、setOutsideTapDismissing(allowed:)控制点外部是否收起反馈setValueChange(action:)监听滚动变化、disappearAutomatically(after: 3.0)让选择器 3 秒后自动消失按钮setDoneButton/setCancelButton/setClearButton都支持自定义标题、字体、颜色和回调避坑指南新手最常遇到的 3 个问题弹出位置不对originView必须是有父视图的控件它决定了箭头指向。如果它是从无 superview 的视图如 CollectionView 复用的 Cell弹出需要额外传入baseViewWhenOriginViewHasNoSuperview参数。默认尺寸忘改弹出层默认宽高都是 300在小屏或窄布局下会显得笨重用setSize(width:)按需调整即可。想深度定制 UI你可以把仓库里的.storyboard如 StringPickerPopover.storyboard拷进自己工程修改但文件名不能变且在 Identity inspector 里要把 Module 指定为SwiftyPickerPopover否则无法生效。总结5 分钟已经足够你跑通 SwiftyPickerPopover 的第一个 Demo装依赖、抄一段链式代码、调用appear一个带内置选择器的弹出层就诞生了。它把 iOS 弹出选择器的开发成本压缩到极致特别适合追求效率的 Swift 开发者。接下来不妨把 Demo 里的四种选择器都点一遍再对照 README.md 的 API 列表逐个试验很快你就能在真实项目中熟练使用了。【免费下载链接】SwiftyPickerPopoverA more convenient way to display a popover with a built-in picker, on iPhone/iPad of iOS9.项目地址: https://gitcode.com/gh_mirrors/sw/SwiftyPickerPopover创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表