Tengo UITextView con algo de texto. Todo estaba bien con iOS 6, pero ahora con iOS 7 deja el espacio en blanco en la parte superior y luego coloca el texto debajo de la mitad de la vista de texto.
No configuré ningún contentOffSet. ¡Por favor ayuda!
ios
iphone
xcode
cocoa-touch
uitextfield
Ali Sufyan
fuente
fuente
La respuesta actual que dio IronManGill no es una buena solución, porque no se basa en la comprensión de por qué ocurre el problema en primer lugar.
La respuesta de jrturton tampoco es la forma más limpia de resolverlo. No es necesario anular. ¡Mantenlo simple!
Todo lo que necesita es configurar lo siguiente:
en el método viewDidLoad.
Consulte los documentos: https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
fuente
automaticallyAdjustsScrollViewInsets
es obsoleto. Desde iOS11, usecontentInsetAdjustmentBehavior
En Interface Builder,
fuente
Esto funcionó para mi
fuente
Ir a
Interface Builder
:view controller
que contenga sutext view
Adjusts Scroll View Insets
propiedadfuente
Realmente me pregunto si esto es una característica real ... Este recuadro automático de 64 puntos solo se agrega cuando el
UIScrollView
oUITextView
como la mayor profundidad de todas las subvistas de la vista del controlador de vista. Por ejemplo, si agrega una vista detrás (aquí estoy hablando de z-buffer, no de imbricación de vistas) la vista de desplazamiento, esta inserción de 64 puntos no se agrega automáticamente.Por ejemplo, este agrega el recuadro:
En este caso, no se agrega el recuadro:
Esto realmente me parece extraño ... ¿Por qué el sistema operativo miraría la profundidad de la vista para decidir si debería extender la vista?
fuente
En Swift (Xcode 6)
fuente
viewDidLoad
View Controller con la vista de texto.automaticallyAdjustsScrollViewInsets
es obsoleto. Desde iOS11, usecontentInsetAdjustmentBehavior
Puede eliminar el espacio en blanco en la parte superior
UITextView
agregando:fuente
Resolví este problema estableciendo el desplazamiento de contenido en un valor negativo. Aquí está el código Swift.
fuente
[self.textView setContentOffset:CGPointMake(0.f, -self.topLayoutGuide.length) animated:NO];
Lo que debes entender es que esto se relaciona con la barra de navegación:
fuente
Probé el siguiente truco, funcionó.
fuente
Solución para Swift 4:
fuente
Esta es una solución poco profesional, estoy seguro ... Pero simplemente poner una etiqueta en blanco detrás de la vista de texto resuelve el problema.
fuente
Esto simplemente funcionó para mí (disponible desde iOS 7)
fuente