У меня есть UIPickerView
, который простирается до ведущего вида и заднего вида в autolayout
в storyboards
.Динамически настраивать значение UILabel x на основе местоположения UIPicker?
Я хотел бы добавить UILabel
рядом с каждой частью UIPickerView
, которые останутся постоянными 10 px
вдали от секции выбора.
Прямо сейчас я пытаюсь сделать это программно следующим образом:
var hourXVal = pickerWidth - 330.0
var minXVal = pickerWidth - 190.0
var secXVal = pickerWidth - 50.0
if(self.view.frame.width == 320)
{
hourXVal = pickerWidth - 250.0
minXVal = pickerWidth - 140.0
secXVal = pickerWidth - 35.0
}
else if(self.view.frame.width == 414)
{
hourXVal = pickerWidth - 330.0
minXVal = pickerWidth - 190.0
secXVal = pickerWidth - 50.0
}
let hourLabel = UILabel(frame: CGRect(x:hourXVal, y:88, width: 100, height:40))
let minuteLabel = UILabel(frame: CGRect(x:minXVal, y:88, width: 100, height:40))
let secondLabel = UILabel(frame: CGRect(x:secXVal, y:88, width: 100, height:40))
hourLabel.text = "Hours"
minuteLabel.text = "Minutes"
secondLabel.text = "Sec"
self.timePickerView.addSubview(hourLabel)
self.timePickerView.addSubview(minuteLabel)
self.timePickerView.addSubview(secondLabel)
Однако self.view.frame.width
сообщает ту же ширину в iPhone SE
и iPhone 6
даже несмотря на 6 UI выглядит так (В то время как она выглядит хорошо на SE и 5):
есть ли лучший способ сделать это? как?