iOS UIPickerView 自定义行 View 宽度错误

标签 ios iphone swift uipickerview custom-view

为以下方法返回自定义 View 以自定义选择器行:

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
}

不调整行 View 的大小:O

最佳答案

通过将自定义 View 的初始框架设置为 .zero 解决:

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
}

关于iOS UIPickerView 自定义行 View 宽度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51079488/

相关文章:

android - 如何在 Angularjs 中下载存储在 http 服务器中的音乐

image - 如何创建图像拼贴画?

ios - "Launch screens may not set custom class names"

iphone - 如何将 NSSString 从 RootViewController 传递到另一个 View ?

iphone - 如何在xcode中拖放文件?

iphone - 以编程方式在 contenteditable UIWebView 中显示键盘

swift - 仅在落地时跳跃

ios - 在 iOS 开发中,您可以拥有两个版本的 .nib 文件并使用各自的方案编译每个版本吗?

ios - (Swift) 如何获得 documentPicker URL 的数据表示

ios - NSManagedObjects 的动态属性在获取后为空