【iOS 开发】选择器控件 UIPickerView

【IOS 开发学习总结-OC-48】★★ios开发之UI控件——UIDatePicker与 UIPickerView 【IOS 开发学习总结-OC-48】★★ios开发之UI控件——UIDatePicker与 UIPickerViewUIDatePicker控件——日期选择器用来选择日期与时间,也可以作为倒计时控件。UIDatePicker继承了 UIControl——可作为活动控件使用,与用户进行交互,既可以在 interface builder,也可以在代码中绑定事件处理方法。 属性面板简要说明: 1. m 阅读详情

iOS 选择器控件 UIPickerView

1. UIPickerView 使用


// 创建 UIPickerView
let pickerView = UIPickerView(frame: CGRect(x: 15, y: 900, width: 350, height: 150))

// 设置 UIPickerView 代理
pickerView.delegate = self

// 设置 UIPickerView 数据源
pickerView.dataSource = self

// 打印 UIPickerView 的组数
print("numberOfComponents: \(pickerView.numberOfComponents)")

// 打印 UIPickerView 的指定组的行数
print("numberOfRows: \(pickerView.numberOfRows(inComponent: 0))")

// 打印 UIPickerView 的指定组的行尺寸
print("rowSize: \(pickerView.rowSize(forComponent: 1))")

// 获取 UIPickerView 的指定组,指定行的自定义视图
// let view = pickerView.view(forRow: 1, forComponent: 0)

// 重新加载 UIPickerView 全部分组数据
pickerView.reloadAllComponents()

// 重新加载 UIPickerView 指定分组数据
pickerView.reloadComponent(1)

// 获取指定组选中的行
print("selectedRow: \(pickerView.selectedRow(inComponent: 1))")

// 主动选中 指定组的指定行,带动画效果
pickerView.selectRow(1, inComponent: 2, animated: true)

scrollView.addSubview(pickerView)


效果展示:

uipickerview


2. UIPickerView 设置数据


lazy var provine = ["湖北省", "湖南省", "广东省", "江苏省", "浙江省", "山东省"]
lazy var city =    ["武汉市", "长沙市", "广州市", "南京市", "杭州市", "济南市"]
lazy var area =    ["武昌区", "番禺区", "白云区", "荔湾区", "天河区", "越秀区"]

// 返回选择器每个分组的行数
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
    return provine.count
}

// 返回选择器分组数
func numberOfComponents(in pickerView: UIPickerView) -> Int {
    return 3
}
    
// 返回选择器每个分组中每行数据的标题
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
    print("第\(component + 1)组,第\(row + 1)行")
    if (component == 0) {
        return provine[row]
    } else if (component == 1) {
        return city[row]
    } else {
        return area[row]
    }
}
    
// 设置可变字符串
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
    var title: String
    if (component == 0) {
        title = provine[row]
    } else if (component == 1) {
        title = city[row]
    } else {
        title = area[row]
    }
    let attStr = NSMutableAttributedString(string: title)
    attStr.addAttributes([NSAttributedString.Key.foregroundColor: UIColor.purple], range: NSRange(location: 0, length: attStr.length))
    return attStr
}

// 设置 UIPickerView 每个组的宽度
func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
    if (component == 0) {
        return 100
    } else if (component == 1) {
        return 100
    } else {
        return 100
    }
}

// 设置 UIPickerView 每组每行的高度
func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
    return 50
}


3. UIPickerView 监听选中事件


func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
    print("选择了第\(component + 1)组,第\(row + 1)行")
}


4. UIPickerView 设置图片视图


func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
      let view = UIImageView(image: UIImage(named: "demo"))
      view.frame = CGRect(x: 0, y: 0, width: 100, height: 30)
      return view
}


效果展示:
uipickerview-image


附 Github 源码:

ViewController.swift

iOS开发基础控件 object-c 文本控件UIlabel 使用: UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(20,100,280,100)]; label.text=@"Hello World2,Hello World2,Hello World2,Hello World2,Hello World2"; label.font=[UIFont systemFontOfSize:18];//设置字体和字号 按钮控件UIButton UIButton *button1=[UI 阅读详情

相关推荐

iOS开发中的自定义弹出选择器编程

然而,有时候我们需要自定义弹出的选择器以满足特定的设计需求。本文将介绍如何在iOS应用程序中自定义弹出的UIPickerView或UIDatePicker,并提供相应的源代码示例。这篇文章介绍了如何在iOS应用程序中自定义弹出的UIPickerView或UIDatePicker,并提供了相应的源代码示例。通过以上步骤,我们可以创建一个自定义的选择器视图控制器,并在合适的时机显示自定义选择器。接下来,我们需要实现选择器的代理和数据源方法,以便提供选择器所需的数据和处理选择事件。

PixelCoder的博客 240

iOS——UIPickerView选择器

UIPickerView是 iOS 开发中常用的用户界面组件之一,用于在垂直方向上显示一个滚动的列表,用户可以通过滚动选择其中的一项。

m0_73348697的博客 1789

UIPickerView控件的基础使用及示例代码

这只是UIPickerView的基本用法,你还可以进一步自定义选择器的外观和行为,例如设置每行的自定义视图、调整行高、设置选择器的样式等。首先,在你的iOS项目中创建一个新的视图控制器,我们将在该视图控制器中添加UIPickerView。完成上述步骤后,运行你的iOS应用程序,你将看到一个带有单列和5行的选择器。通过滚动选择器,你可以选择不同的行,并在控制台中看到打印输出。然后,在视图控制器的实现文件中,实现UIPickerView的代理和数据源方法。方法,我们在该方法中打印了用户选择的行数。

DevProZ的博客 233

iOS Swift UIPickerView 使用记录

ios UIPickerView实现时间选择器

weixin_45437033的博客 1511

IOS自定义弹出UIPickerView或UIDatePicker(动画效果)

IOS自定义弹出UIPickerView或UIDatePicker(动画效果)

iOS中自定义弹出pickerView效果(DEMO)

主要介绍了iOS中自定义简单弹出pickerView(DEMO)的实例代码,需要的朋友可以参考下

iOS学习-UIPickerView自定义选中行背景色

UIPickerView自定义选中行背景色,UIPickerView默认有一层灰色背景,并且系统不直接提供修改的方法,我们需要手动获取次到那个view图层,并对其进行更改,在代理中实现。

qq_43441647的博客 4104

中孚保密检查系统彻底卸载指南:绕过口令与清除内核残留

中孚保密检查系统是深度集成于Windows内核的合规管控软件,其卸载涉及用户态口令校验、内核态服务引擎与Ring 0级驱动自保三重机制。理解其基于SHA-256哈希的本地口令验证原理和zfsysflt.sys过滤驱动的加载逻辑,是实现无残留清理的技术前提。该系统具备高权限驻留特性,常规卸载工具无法触达驱动与服务层,易引发蓝屏、启动缓慢及新安全软件冲突等工程问题。典型应用场景包括涉密终端批量清退、安全研究环境重建及误装后紧急退出。本文聚焦‘口令绕过+手动清理’双轨方案,覆盖注册表、服务、驱动、文件与计划任务五

weixin_33508411的博客 996

iOS 自定义PickerView

前言自定义一个pickerView,解决如下问题: 1、添加“确定”和“取消”按钮; 2、增加向上弹出和向下消失动画; 3、选中某行后,触发一个事件;一、自定义PickerView的代码1、h文件中代码如下:#import <UIKit/UIKit.h>typedef void (^MyBasicBlock)(id result);@interface YCPickerView : UIVie

长沙火山 5051

MATLAB安装配置libsvm(附MinGW64配置)

首先声明版本,本人PC系统Windows10 64bit,matlab安装的2016b,libsvm安装的version3.2.21.首先需要下载libsvm包:从林教授的网站上下载: http://www.csie.ntu.edu.tw/~cjlin/libsvm/2.将libsvm3.2.2解压到matlab/toolbox目录下:解压后:D:\matlab2016b\toolbox\libs...

github_35807147的博客 4万+

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

oracle合并行---解决listagg 拼接字段返回过长 (Ora-01489 result of String concatenation is too long)

清影的博客 6281

【iOS开发】-UIPickerView

UIPickerView是很简单但是很实用的控件,在项目里也许会用到。

weixin_61639290的博客 3716

[XJTUSE DATABASE]——第三章 关系数据库标准语言SQL

新年了,来个大的,写了好几天,将近9000字,希望对大家有所帮助

weixin_47692652的博客 3120

iOS开发--UIPickerView(选择器控件) 省份和城市的做法

//UIPickerView 是一个选择器控件,它可以生成单列的选择器,也可生成多列的选择器 @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> @property(strong,nonatomic) UIPickerView *MyPickerVi...

weixin_34232617的博客 144

新手小白 必须精进的 “ FLASH分区管理Code and Data ” !!!最强文章解析!!!

FLASH“代码区”和“数据区”不是每个项目都必须显式管理,但只要你的产品功能越来越丰富,对可靠性和扩展性要求提高,就一定要学会科学划分和使用。这也是嵌入式工程师进阶路上的必修课!

qq_75157958的博客 933

Windows 10错误代码解析与系统故障排除指南

操作系统错误代码是系统运行状态的直接反馈,Windows系统通过特定编码机制将故障信息转化为可识别的错误代码。从技术原理看,这些代码通常对应特定的异常处理流程,包括内存管理、驱动兼容性、文件系统等核心模块。理解错误代码对于系统维护具有重要价值,能快速定位问题根源,提高故障排除效率。在实际应用场景中,蓝屏错误(如0x0000007B)、系统升级失败(如0x80070002)和启动故障是最常见的三类问题。通过分析dump文件、使用WinDbg工具和系统内置诊断功能,可以有效解决大部分系统异常。特别是对于蓝屏错误

weixin_30516429的博客 298

IOS中实现自定义UICombox

们在做IOS开发的时候,有时候会限制于系统自带的一些控件,而无法做到更好的用户体验,今天我们就来介绍一下我们自己做的UICombox控件,先来看一下图:   这是我们自定义的控件,实现了点击输入框,弹出数据拾取器的效果 首先我们先来整理一下思路,UICombox看上去像UITextField吧,只是旁边多了一个小图片,那我们就可以通过继承UITextField来实现,并重新整理U

juce的专栏 960

三菱FX5U-PLC建立CClink的IO通讯

最新需要用三菱的FX5U的PLC搭建一个CClink通讯,PLC做主站,控制CClink从站的IO,下面2个输入模块AJ65SBTB1-32D,两个输出模块AJ65SBTB1-32T。3、在右侧的部件,选择网络模块:FX5-CCL-MS,CC-link主站模块。依次把加入两个AJ65SBTB1-32D,两个AJ65SBTB1-32T。7、基本设置,网络配置设置,链路刷新设置,设置好下面参数,应用。6、基本设置,网络配置设置,CC-Link配置设置。8、部件选择,模块,右键,添加模块标签。

wzz418550729的博客 1001

UIPickerView的应用

UIPickerView是一个选择器控件,它可以生成单列的选择器,也可生成多列的选择器。UIPickerView直接继承了UIView,没有继承UIControl,因此,它不能像UIControl那样绑定事件处理方法,UIPickerView的事件处理由其委托对象完成。 UIPickerView控件常用的属性和方法如下: numberOfCompone...

dcpe8917的博客 123

详解Xilinx FPGA高速串行收发器GTX/GTP(6)--Pattern Generator/Pattern Checker

详解Xilinx FPGA高速串行收发器GTX/GTP(6)--Pattern Generator/Pattern Checker

孤独的单刀 1625

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

iOS开发UI篇—UIPickerView控件简单介绍

iOS开发UI篇—UIPickerView控件简单介绍     一.UIPickerView 控件 1.简单介绍:    2.示例代码 TXViewController.m文件 //  Created by 鑫 on 14-10-15. //  Copyright (c) 2014年 梁镋鑫. All rights reserved. //   #import "T

软件工程班梁镋鑫的专栏 569

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[iPhone中级] IOS中实现自定义UICombox

我们在做IOS开发的时候,有时候会限制于系统自带的一些控件,而无法做到更好的用户体验,今天我们就来介绍一下我们自己做的UICombox控件,先来看一下图: 这是我们自定义的控件,实现了点击输入框,弹出数据拾取器的效果 首先我们先来整理一下思路,UICombox看上去像UITextField吧,只是旁边多了一个小图片,那我们就可以通过继承UITextField来实现,并重新整理UITextF

kangkangz4的专栏 7085

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Iphone开发(七)date picker 和 picker view,较复杂的控件

holydancer原创,如需转载,请在显要位置注明: 转自holydancer的优快云专栏,原文地址:http://blog.youkuaiyun.com/holydancer/article/details/7408703 Iphone中的时间选择器比较有特色,有点儿类似老虎机的感觉,这也是Iphone开发中比较难的一个控件,这种样式的控件有两种,一种是date picker,另一种是p

黑菜妞妞的专栏 618

UIControl类控件(一)

转载注明出处 : http://blog.youkuaiyun.com/shulianghan/article/details/50348982 一. 日期选择器 (UIDatePicker) UIDatePicker 属性截图 :  1. UIDatePicker

移动开发专栏 1122

PP-YOLOv2 目标检测高性能部署实战:基于 FastDeploy 的云边端一体化推理指南

FastDeploy 是 PaddlePaddle 生态提供的一款全场景、易用灵活、极致高效的 AI 推理部署工具,本文以 PP-YOLOv2 目标检测模型为例,完整演示从安装 FastDeploy 预编译包、下载部署示例与模型文件,到在 X86 CPU、NVIDIA GPU 以及 GPU + TensorRT 三种场景下完成一行命令推理部署的全过程。读完本文,你将掌握 FastDeploy 三步

gitblog_00362的博客 407
上一篇: 【iOS 开发】步进器控件 UIStepper
下一篇: 【iOS 开发】时间选择器控件 UIDatePicker
Lucky_William
博客等级 码龄11年 161粉丝 57原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值