Image of the pixelated text in the UITextViewUITextView в Swift2.2 показывает пиксельный текст, как восстановить потерянное разрешение?
У кого-нибудь есть предложения? Изображение проблемы находится в ссылке, которую можно щелкнуть выше.
Код:
struct Views {
static var name_field: UITextView?
}
В viewDidLoad()
Views.name_field = UITextView(frame: CGRectMake(0, 0, name_field_width, 50))
Views.name_field!.textAlignment = NSTextAlignment.Center
Views.name_field!.font = UIFont.systemFontOfSize(15)
Views.name_field!.autocorrectionType = UITextAutocorrectionType.No
Views.name_field!.keyboardType = UIKeyboardType.Default
Views.name_field!.returnKeyType = .Done
Views.name_field!.delegate = self
Вызов этой функции стиль это
styleIt(Views.name_field!)
Добавляет нижний стиль границы, а затем устанавливает шрифт и т. д.
func styleIt(target: UITextView){
target.layer.backgroundColor = UIColor.clearColor().CGColor
let _border = CAShapeLayer()
_border.backgroundColor = UIColor.whiteColor().CGColor
_border.frame = CGRectMake(0, CGRectGetHeight(target.frame) - 1.0, CGRectGetWidth(target.frame), 1.0)
_border.shadowColor = UIColor.whiteColor().CGColor
_border.shadowOffset = CGSize(width: 3, height: 3)
_border.shadowOpacity = 0.23
_border.shadowRadius = 4
target.layer.addSublayer(_border)
target.font = UIFont(name: "ClementePDaa-Hairline", size: 24)
target.textColor = UIColor.whiteColor()
target.textContainerInset = UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0)
applyPlaceholderStyle(target, placeholderText: _SEARCH_TEXT)
target.returnKeyType = .Done
target.frame = CGRectIntegral(target.frame)
target.layer.shouldRasterize = true
_border.shouldRasterize = true
target.textInputView.layer.shouldRasterize = true
}
Это UITextView является подвид из search_field
, который просто UIView
search_field!.addSubview(Views.name_field!)
Вы используете опцию shouldRasterize на слое этикетки/TextView? Becasue делает это испортит содержимое UILabels и TextViews. – Dershowitz123
@ Dershowitz123 Я добавил «textField.shouldRasterize = true» после добавления его в качестве подпрограммы к основному виду. Кажется, это не работает. Если вы не имеете в виду фактическое текстовое поле в представлении? Изменить: я добавил «textField.textInputView.layer.shouldRasterize = true», он все еще не полностью восстанавливает свое полное разрешение. –
@ originaluser2 добавил код, извините за это. –