Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode Swift:如何从UIButton调用UIPickerView?_Xcode_Swift - Fatal编程技术网

Xcode Swift:如何从UIButton调用UIPickerView?

Xcode Swift:如何从UIButton调用UIPickerView?,xcode,swift,Xcode,Swift,我需要在用户触摸UIButton后打开UIPickerView,并将UIPickerView上选择的文本值返回到UIButton标签 我无法像UITextField那样更改UIButton'n inputview,因此使属性可写似乎是正确的方法。不幸的是,当按下按钮时,什么也没有发生 import UIKit class ABButton: UIButton { var modInputView: UIView! override var inputView: UIView { get {

我需要在用户触摸UIButton后打开UIPickerView,并将UIPickerView上选择的文本值返回到UIButton标签

我无法像UITextField那样更改UIButton'n inputview,因此使属性可写似乎是正确的方法。不幸的是,当按下按钮时,什么也没有发生

import UIKit

class ABButton: UIButton {

var modInputView: UIView!

override var inputView: UIView { get {

    if modInputView != nil {
        return modInputView
    }
    else {
        return super.inputView!
    }

}}

override func canBecomeFirstResponder() -> Bool {
    return true

}
}


class LiczydloViewController: UIViewController {

@IBOutlet weak var buttonTempo10: ABButton!

override func viewDidLoad() {
    super.viewDidLoad()

    var tempoPicker = UIDatePicker()


    buttonTempo10.modInputView = tempoPicker

 }

为按钮添加touchUpInside操作,并调用按钮。becomeFirstResponder()

尝试设置UIDatePicker的框架。我很幸运地试过了

class ZYInputButton: UIButton {
    var zyInputView: UIView?
    var zyInputAccessoryView: UIView?

    override var inputView: UIView? {
        get {
            return self.zyInputView
        }

        set {
            self.zyInputView = newValue
        }
    }

    override var inputAccessoryView: UIView? {
        get {
            return self.zyInputAccessoryView
        }

        set {
            self.zyInputAccessoryView = newValue
        }
    }

    override func canBecomeFirstResponder() -> Bool {
        return true
    }
}