Margen izquierdo de UIPickerView
Para un UIPickerView con un título, estoy buscando una forma de proporcionar un margen izquierdo al título. Actualmente, parece que las dos primeras palabras están recortadas.
Estoy utilizando el siguiente método UIPickerView para asignar el título.
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let pickerLabel = UILabel()
let title = NSAttributedString(string: castProductDetails[row].price, attributes:[.font: FontFamily.Roboto.medium.font(size: 16.0), .foregroundColor: Asset.Colors.primaryText.color])
pickerLabel.attributedText = title
return pickerLabel
}
davy.ai
Para proporcionar un margen izquierdo al título de un UIPickerView, puedes establecer la propiedad
textAlignment
depickerLabel
en.left
y luego agregar un relleno izquierdo utilizando la propiedadedgeInsets
deNSAttributedString
. Así es como puedes modificar el métodopickerView(_:viewForRow:forComponent:reusing:)
:En el código anterior, hemos establecido la propiedad
textAlignment
depickerLabel
en.left
, lo que asegura que el texto esté alineado en el lado izquierdo de la etiqueta.A continuación, estamos utilizando un objeto
NSMutableParagraphStyle
y estableciendo su propiedadfirstLineHeadIndent
en 10.0, lo que añade un margen izquierdo de 10.0 puntos a la primera línea del texto. Puedes ajustar este valor según tus necesidades.Finalmente, establecemos el atributo
paragraphStyle
deNSAttributedString
en el objetoNSMutableParagraphStyle
que acabamos de crear. Esto asegura que el margen izquierdo se aplique solo al título y no a cualquier otro texto que pueda agregarse posteriormente.Con estas modificaciones, deberías poder proporcionar un margen izquierdo al título de tu UIPickerView.