2011-09-30 13 views
10

Tengo una UITextView que tiene texto. El problema es que el texto se desplaza fuera de los límites del cuadro UITextView. (El UITextView no se puede editar.)Desplazamientos de texto fuera del límite del cuadro UITextView

Aquí está el código y lo que han tratado de resolver este problema:

- (void)viewDidLoad { 

     textBG.contentInset = UIEdgeInsetsZero; 

    // textBG.layer.masksToBounds = NO; 
     textBG.layer.cornerRadius = 10.0; 
     textBG.layer.borderWidth = 0.0; 
     [textBG setClipsToBounds:YES]; 

    [super viewDidLoad]; 
} 

- (void)textViewDidBeginEditing:(UITextView*)textView 
{ 

textBG.contentInset = UIEdgeInsetsZero;  
[textBG setClipsToBounds:YES]; 
} 

- (void) shouldChangeTextInRange:(UITextView*)textView { 

    textBG.contentInset = UIEdgeInsetsZero;  
    [textBG setClipsToBounds:YES]; 

} 

gracias por cualquier ayuda

enter image description here

+0

¿Qué quiere decir con '" texto desplaza fuera de los límites "'? – EmptyStack

+0

Agregué una captura de pantalla del problema. – hanumanDev

Respuesta

12

escribir esto en los métodos de delegado Textview como textViewDidBeginEditing

textBG.contentInset = UIEdgeInsetsZero; 

en viewDidLoad

[textBG setClipsToBounds:YES]; 
+1

mismo problema al que me enfrenté antes de dos días, solo puse textBG.contentInset = UIEdgeInsetsZero; en shouldChangeTextInRange y textViewDidBeginEditing methods.its funciona bien en mi caso ... – Narayana

+0

luego ponga [textBG setClipsToBounds: YES]; creo que va a funcionar bien – Narayana

+0

eso es genial, ¡funcionó! Gracias por toda la ayuda. – hanumanDev

2

tratar de cambiar en el XI ter para su TextView, como a continuación: enter image description here

0

que enfrentan el mismo problema, así que rastrear la fuente ... esto es debido al tiempo que añade la sombra de alguna manera se perturbado es masksToBounds propiedad. Por lo tanto, al agregar más texto se desbordó. La solución simple que encontré es escribir esta línea simple después de agregar sombra.

[self.myTextView setClipsToBounds:YES]; 

por lo general debe estar en viewDidLoad método, pero recordar a escribir esta línea única después de la aplicación desombra.

Gracias por leer esto.

Cuestiones relacionadas