首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIPickerViewDelegate Xcode 8 Swift 3

UIPickerViewDelegate Xcode 8 Swift 3
EN

Stack Overflow用户
提问于 2016-10-23 05:22:38
回答 2查看 11.4K关注 0票数 3

我的代码是:

代码语言:javascript
复制
class ViewController: UIViewController,UIPickerViewDelegate, UIPickerViewDataSource {
    @IBOutlet weak var picherview: UIPickerView!

    var prodotti = ["AAAAA", "VVVV", "CCCC"]

    override func viewDidLoad() {
        super.viewDidLoad()
        self.picherview.dataSource = self
        self.picherview.delegate = self
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

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

    func pickerview( _ : UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return prodotti.count
    }

    func pickerview( _ : UIPickerView, titleForRow row: Int, forComponent component: Int) -> String! {
        return prodotti[row]
    }     //ci consente di determinare quale riga è stata selezionata

    func pickerview(_ : UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        print("Hai selezionato: \(prodotti[row])")}
    }

此代码有错误:

类型'ViewController‘不符合协议'UIPickerViewDataSource’

有解决办法吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-23 07:40:03

PickerView Swift 3的正确语法

代码语言:javascript
复制
// DataSource
func numberOfComponents(in pickerView: UIPickerView) -> Int {

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

}

// Delegate

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

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

}
票数 12
EN

Stack Overflow用户

发布于 2017-07-03 07:28:03

Swift 3中完成按钮的PickerView示例

  1. 首先,在Swive3中创建一个视图应用程序。拖动一个文本字段&连接到视图控制器。
  2. 在两个PickerView协议UIPickerViewDelegate,UIPickerViewDataSource中实现
  3. UIPickerViewDelegate & UIPickerViewDataSource需要实现numberOfComponents、numberOfRowsInComponent、titleForRow等方法
  4. 选择器视图如下所示

  1. 全源给出如下 类查看控制器:UIViewController,UIPickerViewDelegate,UIPickerViewDataSource { //Text field Connect @IBOutlet弱var txtPickerTextField: UITextField!//Array声明让pickerArray =“孟加拉国”、“印度”、“巴基斯坦”、“美国”var selectedRow = 0;// pickerview对象让called = UIPickerView()覆盖func viewDidLoad() { super.viewDidLoad() //不要忘记初始化泡菜视图委托& datasource picker.delegate = self picker.dataSource = self txtPickerTextField.inputView =self txtPickerTextField.inputView=self txtPickerTextField.inputView//Don函数(doneButton());} public func numberOfComponents(in pickerView: UIPickerView) -> Int {返回1} func pickerView(_ pickerView: UIPickerView,numberOfRowsInComponent component: Int) -> Int {返回pickerArray.count } public func pickerView(_pickerView:UIPickerView,numberOfRowsInComponent component: Int) -> Int {返回pickerArray.count } func pickerView(_ pickerView: pickerArray.count,row: Int,forComponent组件: Int) ->字符串?{返回pickerArrayrow } func pickerView(_ pickerView: UIPickerView,didSelectRow行: Int,inComponent组件: Int) { selectedRow = row;txtPickerTextField.text = pickerArrayrow self.view.endEditing(false) } //begin Doen Button函数func doneButton(){ let pickerView =UIColor pickerView.backgroundColor = .white pickerView.showsSelectionIndicator = true var toolBar = UIToolbar() toolBar.barStyle = UIBarStyle.default toolBar.isTranslucent = true toolBar.tintColor =UIColor(红色: 76/255,绿色: 217/255,蓝色: 100/255,阿尔法: 1) toolBar.sizeToFit()让doneButton =UIBarButtonItem(标题:“完成”,样式: UIBarButtonItemStyle.bordered,目标:自我,动作:"donePicker")让spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.flexibleSpace,目标:0,action: 0)让cancelButton =UIBarButtonItem(标题:“取消”,样式: UIBarButtonItemStyle.bordered,目标:自我,动作:"canclePicker") toolBar.setItems(cancelButton,spaceButton,doneButton )动画: toolBar.isUserInteractionEnabled = true txtPickerTextField.inputView = pickerView txtPickerTextField.inputAccessoryView = toolBar } func donePicker() { self.txtPickerTextField.text = pickerArrayselectedRow txtPickerTextField.resignFirstResponder() } func canclePicker() { txtPickerTextField.resignFirstResponder() } //End Doen Button函数}
  2. 完整的项目是给吉特卜的。Github链接:https://github.com/enamul95/PickerView1.git
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40199826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档