iphone ipad ios uiscrollview uitextview

iphone - ¿Cómo establecer un margen en UITextView?



scrollview swift (4)

Actualmente estoy desarrollando una aplicación de edición de texto simple para iPad. Quiero establecer los márgenes izquierdo / derecho como la imagen adjunta. El simple hecho de agregar UITextView en otra UIView con mayor ancho no funcionará porque no se ubicará correctamente un indicador de desplazamiento.

En lugar de UIView, agregué UITextView en UIScrollView, y funciona casi bien. Pero a veces muestran comportamientos extraños, y UITextViewDelegate no funciona con mi UIViewController.

¿Hay alguna manera de establecer los márgenes de la izquierda / derecha utilizando solo UITextView? Gracias.


Puede establecer el valor de inserción a la derecha de la rueda de desplazamiento en UITextView a un valor negativo y deshabilitar la opción de subvista de clips para lograr su requerimiento. No se necesita ningún otro scrollview.

En codigo seria

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake(0.0f, 0.0f, 0.0f, -50.0f);


Puede utilizar la propiedad textContainerInset

Siguiendo el ejemplo de George Green :

myTextView.textContainerInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f);


Quería hacer lo mismo, pero textview.contentInset no funcionó.

Pongo UITextView con un ancho estrecho en UIView, luego muevo el indicador de vista de desplazamiento de la vista de texto hacia el lado derecho, así que obtuve lo que quería realmente bien.

textView.clipsToBounds = NO; textView.scrollIndicatorInsets = UIEdgeInsetsMake (0.0f, 0.0f, 0.0f, -20.0f);

Esta respuesta podría ayudar. ¿Hay alguna manera de colocar el indicador de desplazamiento de UITextView fuera de UITextView?


UITextView es una subclase de UIScrollView. No lo he intentado pero podrías intentar algo como:

myTextView.contentInset = UIEdgeInsetsMake(0.0f, 10.0f, 0.0f, 10.0f);

UIEdgeInsetsMake () es el siguiente:

UIEdgeInsets UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right );

Así que deberías poder insertar tu contenido de textView.

Espero que esto ayude, dejame saber si funciona !! :)