Ios Swift-UIView委托协议未返回值
我正在尝试应用下面问题中的颜色选择器 我设置它的方式是将颜色选择器类附加到主视图控制器中的UIView。michaelros的代码是有效的,但是当我尝试使用主视图控制器访问它时,什么都没有发生。下面是我在视图控制器中使用的代码。这是正确的吗?我反复考虑了其他问题,我不确定我做错了什么Ios Swift-UIView委托协议未返回值,ios,swift,delegates,protocols,color-picker,Ios,Swift,Delegates,Protocols,Color Picker,我正在尝试应用下面问题中的颜色选择器 我设置它的方式是将颜色选择器类附加到主视图控制器中的UIView。michaelros的代码是有效的,但是当我尝试使用主视图控制器访问它时,什么都没有发生。下面是我在视图控制器中使用的代码。这是正确的吗?我反复考虑了其他问题,我不确定我做错了什么 class ViewController: UIViewController { weak var colorPickerDelegate: ColorPickerDelegate? override fu
class ViewController: UIViewController {
weak var colorPickerDelegate: ColorPickerDelegate?
override func viewDidLoad() {
super.viewDidLoad()
self.colorPickerDelegate = self
}
}
}
extension ViewController: colorPickerDelegate {
func colorChanged(color: UIColor) {
print(color)
}
}
颜色选择器代码可以在附加的问题上找到,因为我不确定是否允许复制代码
感谢您的帮助您应该更换
颜色改变->颜色改变!
如果您的委托是ColorPickerDelegate;我认为是这样的您应该将UIView子类分配给view controller视图,然后将ColorPickerView的委托设置为view controller: ColorPickerView.swift
class ColorPickerView : UIView {
weak var delegate: ColorPickerDelegate?
// Other code from Michael Ros's adaptation.
}
import UIKit
class ViewController: UIViewController {
lazy var colorPickerView = ColorPickerView(frame: CGRect(origin: .zero, size: CGSize(width: self.view.frame.width, height: 300)))
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.colorPickerView.delegate = self
self.view.addSubview(colorPickerView)
}
}
extension ViewController: ColorPickerDelegate {
func colorDidChange(color: UIColor) {
print(color)
}
}
ViewController.swift
class ColorPickerView : UIView {
weak var delegate: ColorPickerDelegate?
// Other code from Michael Ros's adaptation.
}
import UIKit
class ViewController: UIViewController {
lazy var colorPickerView = ColorPickerView(frame: CGRect(origin: .zero, size: CGSize(width: self.view.frame.width, height: 300)))
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.colorPickerView.delegate = self
self.view.addSubview(colorPickerView)
}
}
extension ViewController: ColorPickerDelegate {
func colorDidChange(color: UIColor) {
print(color)
}
}
很抱歉,这是个打字错误