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

swift实践-12--UIPickerView

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

import UIKit

 

class ViewController: UIViewController , UIPickerViewDelegate,UIPickerViewDataSource{

    

    var pickerView: UIPickerView!

    

 

    override func viewDidLoad() {

        super.viewDidLoad()

        pickerView = UIPickerView()

        pickerView.frame = CGRect.init(x: 0, y: 0, width: self.view.frame.size.width, height: 300)

        pickerView.delegate = self

        pickerView.dataSource = self

        

        // 设置默认值

        pickerView.selectRow(1, inComponent: 0, animated: true)

        pickerView.selectRow(2, inComponent: 1, animated: true)

        pickerView.selectRow(3, inComponent: 2, animated: true)

        

        self.view.addSubview(pickerView)

        

        

        // 建立一个按钮, 触摸按钮时获得选择框被选择的索引

        let button = UIButton.init(frame: CGRect.init(x: 0, y: 0, width: 100, height: 30))

        button.center = self.view.center

        button.backgroundColor = UIColor.red

        button.setTitle("按钮", for: .normal)

        self.view.addSubview(button)

        

        button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)

        

        

        

    }

    

    

    

    // 设置选择框的列数, 继承于 UIPickerViewDataSource 协议

    func numberOfComponents(in pickerView: UIPickerView) -> Int {

        return 3

    }

    

    // 设置选择框的行数, 继承于 UIPickerViewDataSource 协议

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {

        return 9

    }

    

    // 设置选择框各项内容的选项, 继承于 UIPickerViewDelegate 协议

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {

        return String(row) + "-" + String(component)

    }

    

    // 设置列的宽度, 继承于 UIPickerViewDelegate 协议

//    func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {

//        return self.view.frame.size.width/3

//    }

    

    // 设置行的高度, 继承于 UIPickerViewDelegate 协议

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

        return 50

    }

    

    // 可以将图片作为选择框内容

    // 选择框的内容,除了可以是字符串类型的, 还可以是任意 UIView 类型的, 比如我们将选项的内容设置为图片

    

    // 检测响应选项的选择状态

    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {

        print("第 \(component) 列, 第 \(row) 行")

    }

    

    

    

    

    

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

    func buttonAction(sender: UIButton) {

        let message = String(pickerView.selectedRow(inComponent: 0)) + "-"

            + String(pickerView!.selectedRow(inComponent: 1)) + "-"

            + String(pickerView.selectedRow(inComponent: 2))

        

        

        print(message)

    }

    

 

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

 

 

}


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
上一篇:
Swift 3.1 发布,包含对标准库的改进发布时间:2022-07-13
下一篇:
[Swift]LeetCode789.逃脱阻碍者|EscapeTheGhosts发布时间: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