• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift - UIPickerView 的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

效果显示数下图:

1、初始化

pickerView.center = self.view.center
//将dataSource设置成自己
pickerView.dataSource=self
//将delegate设置成自己
pickerView.delegate=self
//设置选择框的默认值
pickerView.selectRow(2,inComponent:0,animated:true)
pickerView.selectRow(4,inComponent:1,animated:true)
pickerView.selectRow(5,inComponent:2,animated:true)
self.view.addSubview(pickerView)

2、代理方法的实现

func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 3
    }
    
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return 9
    }

 

//设置选择框个选项的内容
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return String(row)+"_"+String(component)
    }

3、触摸按钮时,获得被选中的索引

   func btnClick() {

        let strs = String(pickerView.selectedRowInComponent(0)) + "_" + String(pickerView.selectedRowInComponent(1)) + "_" + String(pickerView.selectedRowInComponent(2))
        
         let alertControllers = UIAlertController(title: "系统提示",message: strs,preferredStyle: .alert)
        let cancelActions = UIAlertAction(title: "取消",style: .cancel,handler: nil)
        let okActions = UIAlertAction(title: "确定",style: .default,handler: nil)
        alertControllers.addAction(cancelActions)
        alertControllers.addAction(okActions)
        
        self.present(alertControllers, animated: true, completion: nil)
    }

4、调整选择框的尺寸

func pickerView(pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
        if 0 == component
        {
            //第一列变宽
            return 100
        }else
        {
            //第二、三列变宽
            return 50
        }
    }

 

5、设置行高

 func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
        return 40
    }

6、检测响应选项的选择状态

func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        //将在滑动停止后触发,并打印出选中列和行索引
        print(component)
        print(row)
    }

7,将图片作为选择框选项

    //将图片作为选择框选项
    //选择框选择的内容,除了可以是字符串类型的,还可以是任意UIView类型的元素,比如我们将选项内容设置为图片:
   func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
        let  image = UIImage(named:"11")
        let himageView = UIImageView()
        himageView.frame = CGRect(x:5,y:0,width:30,height:30)
        himageView.image = image
        
        return himageView
    }

 

 点击按钮,显示被选中的行数,效果图如下:

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
[Swift]LeetCode275.H指数II|H-IndexII发布时间:2022-07-13
下一篇:
Swift-Debug下打印函数名和行数发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap