【发布时间】:2018-03-17 08:48:23
【问题描述】:
我正在尝试制作一个水平 UIPickerView。但我对宽度有一些问题。正如你可以在上图的顶部看到
我希望 PickerView 的宽度为 = view.frame.size.width,但由于某种原因它保持非常小。在我的代码中,我有:
let cityPicker = UIPickerView()
var rotationAngle: CGFloat!
let width:CGFloat = 100
let height:CGFloat = 100
override func viewDidLoad() {
super.viewDidLoad()
cityPicker.delegate = self
cityPicker.dataSource = self
cityPicker.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: 50)
self.view.addSubview(cityPicker)
rotationAngle = -90 * (.pi/180)
cityPicker.transform = CGAffineTransform(rotationAngle: rotationAngle)
}
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 1
}
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
return byer.count
}
func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
return 100
}
func pickerView(_ pickerView: UIPickerView, widthForComponent component: Int) -> CGFloat {
return 100
}
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let view = UIView()
view.frame = CGRect(x: 0, y: 0, width: width, height: height)
let label = UILabel()
label.frame = CGRect(x: 0, y: 0, width: width, height: height)
label.textAlignment = .center
label.font = UIFont (name: "Baskerville-Bold", size: 30)
label.text = byer[row]
view.addSubview(label)
view.transform = CGAffineTransform(rotationAngle: 90 * (.pi/180))
return view
}
谁能看到我做错了什么?
【问题讨论】:
标签: swift uipickerview