iOS UIPickerView自定义行视图宽度错误

iOS UIPickerView自定义行视图宽度错误,ios,iphone,swift,uipickerview,custom-view,Ios,Iphone,Swift,Uipickerview,Custom View,返回以下方法的自定义视图以自定义选择器行: public override func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { return PickerAccessoryView.instantiateFromNib() } 回到全宽: public func pickerV

返回以下方法的自定义视图以自定义选择器行:

public override func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    return PickerAccessoryView.instantiateFromNib()
}
回到全宽:

public func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
    return pickerView.frame.width
}

不调整行视图的大小:O

通过将自定义视图的初始帧设置为0来解决:

public override func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    let view = PickerAccessoryView.instantiateFromNib()
    view.frame = .zero
    return view
}

通过将自定义视图的初始帧设置为.0来解决此问题:

public override func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
    let view = PickerAccessoryView.instantiateFromNib()
    view.frame = .zero
    return view
}