SwiftyPickerPopover 高级美化图片、字体、颜色与 Emoji 显示技巧【免费下载链接】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 的开源弹窗选择器库几行代码就能在 iPhone 或 iPad 上弹出内置 UIPickerView 与 UIDatePicker 的 popover彻底告别手写 UIPopoverController 的繁琐。用它搭建表单、筛选和设置界面非常顺手不过默认外观略显朴素。本文总结 SwiftyPickerPopover 美化技巧给选项加图片、定制字体与颜色、按钮换肤以及用 Emoji 表情让选择器更生动全程使用库自带 API无需手工改 Storyboard。快速上手三行代码弹出选择器先看最基础的用法把 DatePickerPopover 挂在任意按钮上即可弹出DatePickerPopover(title: 日期选择) .setDoneButton(action: { _, date in print(date) }) .appear(originView: sender, baseViewController: self)下面进入正题逐个解锁高级美化技巧。SwiftyPickerPopover 图片显示技巧给每个选项配图标字符串选择器最常用的美化手段就是给选项配图片。StringPickerPopover 提供了setImageNames()和setImages()两个 API前者传入图片名数组由库内部加载 UIImage后者直接传入[UIImage?]数组适合网络下载或动态生成的图片。StringPickerPopover(title: 选择图标, choices: [value 1, value 2, ]) .setImageNames([Icon1, nil, Icon3]) .appear(originView: button, baseViewController: self)注意数组元素允许为nil表示该行不显示图片混搭起来很灵活。实测效果如下选项与图片一一对应观感立刻提升一个档次对应的图片加载逻辑集中在 StringPickerPopover.swift 的setImageNames/setImages方法中想深入研究的读者可以对照源码阅读。SwiftyPickerPopover 字体设置方法让文字更精致默认字体是 14pt 的黑色系统字通过setFont()、setFontSize()、setFontColor()三个链式方法即可定制StringPickerPopover(title: 字体美化, choices: [A, B, C]) .setFont(UIFont(name: PingFangSC-Semibold, size: 16)!) .setFontColor(.systemBlue) .appear(originView: sender, baseViewController: self)如果使用多列选择器 ColumnStringPickerPopover还能按列分别设置字体ColumnStringPickerPopover.swift 提供了setFonts(_:)、setFontSizes(_:)、setFontColors(_:)传入数组即可让每一列拥有独立的字号与颜色非常适合作「省 / 市 / 区」这类联动选择。SwiftyPickerPopover 颜色定制指南从文字、按钮到箭头一键换肤想让弹窗和 App 主题色保持一致公共基类 AbstractPopover.swift 提供了整套换色 APIsetArrowColor(_:)定制弹窗箭头与导航栏背景色setFontColor(_:)定制选项文字颜色setDoneButton(color:)/setCancelButton(color:)/setClearButton(color:)定制三个按钮的 tintColor配合setCornerRadius(_:)圆角与setSize(width:height:)尺寸调整一个完全贴合品牌视觉的选择弹窗就诞生了StringPickerPopover(title: 主题换肤, choices: [红, 绿, 蓝]) .setFontColor(.orange) .setArrowColor(.orange) .setDoneButton(title: 确定, color: .orange, action: { _, _, _ in }) .setCornerRadius(12) .appear(originView: sender, baseViewController: self)SwiftyPickerPopover Emoji 表情显示技巧让选项活泼起来Emoji 是让选择器「秒变有趣」的终极武器SwiftyPickerPopover 提供了两条途径途径一按钮文字直接使用 Emoji例如把 Done 改成 、把 Cancel 改成 一行搞定.setDoneButton(title: , action: { _, row, value in }) .setCancelButton(title: , action: { _, _, _ in })途径二用setDisplayStringFor()把原始值映射成表情。它是一段转换闭包选择器上显示表情、回调里返回原始值实现「显示与存储分离」let display: ((String?) - String?)? { s in switch s { case value 1: return case value 2: return case value 3: return default: return s } } StringPickerPopover(title: 心情选择, choices: [value 1, value 2, value 3]) .setDisplayStringFor(display) .appear(originView: sender, baseViewController: self)效果如下纯表情列表让选择过程充满乐趣适合评分、心情、状态等轻量场景更多实用美化组合行高、背景与自动消失最后补充几个让体验更完整的细节setRowHeight(_:)加大行高配合图片或大字号更透气setDimmedBackgroundView(enabled: true)弹出时给背景加半透明遮罩聚焦当前选择setOutsideTapDismissing(allowed: true)允许点击外部关闭disappearAutomatically(after: 3.0)3 秒后自动消失适合提示类场景把以上技巧组合起来就能在完全不碰 Storyboard 的前提下做出颜值与交互俱佳的 iOS 弹窗选择器。先用setImageNames配图、setDisplayStringFor上 Emoji再用字体颜色与圆角统一风格你的 App 立刻高级起来。以上就是本篇文章的全部内容希望对你的 iOS 开发有所帮助【免费下载链接】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),仅供参考