sube solo porque pantalla opaca desactivar brillo baja automatico objective-c ios6 autolayout
desde aquí.

objective c - solo - Altura UIView dinámica con diseño automático en iOS 6



la pantalla de mi iphone se ve opaca (2)

Es posible que necesite un retraso antes de actualizar el tamaño del contenido de webview. Y la masonry es útil para el uso de autolayout.

-(void)webViewDidFinishLoad:(UIWebView *)webview{ [self performSelector:@selector(checkContentOnDelay:) withObject:webview afterDelay:0.001]; } -(void)checkContentOnDelay:(UIWebView *)webview{ CGSize contentSize = webview.scrollView.contentSize; if (contentSize.height > 2) { [webview updateConstraints:^(MASConstraintMaker *make) { make.height.equalTo(contentSize.height); }]; }else{ [self performSelector:@selector(checkContentOnDelay:) withObject:webview afterDelay:0.01]; } }

Durante los últimos días, estoy tratando de lograr un diseño bastante simple (al menos debería serlo) usando restricciones de diseño automático, pero sin éxito.

Mi jerarquía de vistas es:
UIScrollView
- UIView (vista de contenedor)
----- UILabel (etiqueta Multirow)
----- UIWebView
----- UILabel
----- UIButton

La funcionalidad deseada es la vista de Contenedor que se expandirá de acuerdo con el tamaño de los contenidos. Para aumentar la altura de UIWebView, uso el siguiente código:

- (void)webViewDidFinishLoad:(UIWebView *)webView { [self.webView sizeToFit]; }

Probé muchas restricciones diferentes, siendo las más razonables:
1. Coloque el espacio superior de supervisión para la primera etiqueta (Título del evento)
2. Separación vertical de pines para la primera etiqueta y el UIWebView
3. Espaciado vertical de pines para los demás elementos (es decir, UIWebView - UILabel (Fecha del evento) y UILabel (Fecha del evento) - UIButton)
4. La vista de contenedor tiene una restricción de espacio vertical inferior de baja prioridad (1) con su supervisión.

El resultado que obtengo es el siguiente:

UIWebView se expande pero no presiona la etiqueta de fecha del evento y el botón, y la vista de Contenedor tampoco se expande.

Cualquier ayuda sería muy apreciada.

Puede descargar el proyecto Xcode de muestra desde aquí.


Está configurando el límite de altura de su webView como 266. Es por eso que la altura de la vista web sigue siendo fija.

Puede crear esta restricción de altura como un IBOutlet, por ejemplo:

@property (weak, nonatomic) IBOutlet NSLayoutConstraint *webViewHeightConstraint;

Y luego puede modificar la constante de la restricción de altura cuando la vista web haya terminado de descargar el contenido. La vista web en sí consiste en una vista de desplazamiento interior, por lo que si desea obtener la altura total del contenido:

- (void)webViewDidFinishLoad:(UIWebView *)webView { self.webViewHeightConstraint.constant = self.webView.scrollView.contentSize.height; }

O aparentemente este también funciona:

- (void)webViewDidFinishLoad:(UIWebView *)webView { [self.webView sizeToFit]; self.webViewHeightConstraint.constant = self.webView.frame.size.height; }