ios ios7 uitextview uiedgeinsets

Cómo configurar contenido insertado para UITextView en ios



ios7 uiedgeinsets (2)

Estoy teniendo una UITextView y establecí el contenido del contenido como

[atextView setContentInset:UIEdgeInsetsMake(0, 10, 0, 0)];

Este código funciona en iOS 6.1 y versiones posteriores, pero no ocurre nada en iOS 7.0.


Una forma alternativa y quizás un poco más conveniente de hacerlo, subclasificando el UITextField y agregando una propiedad de inserción @IBInspectable.

import UIKit class UITextfieldWithInset: UITextField { @IBInspectable var textfieldInset: CGPoint = CGPointMake(0, 0) override func textRectForBounds(bounds: CGRect) -> CGRect { return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) } override func editingRectForBounds(bounds: CGRect) -> CGRect { return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) } override func placeholderRectForBounds(bounds: CGRect) -> CGRect { return CGRectInset(bounds, textfieldInset.x, textfieldInset.y) } }


tengo respuesta:

[atextView setTextContainerInset:UIEdgeInsetsMake(7, 7, 0, 0)];

arregló mi problema

Y en Swift ...

@IBOutlet var tv:UITextView! override func awakeFromNib() { super.awakeFromNib() tv.textContainerInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0); }

ACTUALIZAR: otra opción para hacer eso.

UIView *spacerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 10)]; [msgtext setLeftViewMode:UITextFieldViewModeAlways]; [msgtext setLeftView:spacerView];