por inicio home flotante desactivar control como boton assistive activar ios facebook uiwebview asyncdisplaykit

ios - inicio - como desactivar el boton home del iphone



Añadir botón personalizado con AsyncDisplayKit (1)

Estoy desarrollando una aplicación IOS. Yo uso la biblioteca Facebook AsyncDisplayKit. Quiero un botón en ASNodeCell Bu Tengo el " Nodo de variable" no inicializado cuando se captura por bloque. ¿Cómo puedo agregar el control UIButton o UIWebView en ASNodeCell? Ayúdenme por favor

dispatch_queue_t _backgroundContentFetchingQueue; _backgroundContentFetchingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); dispatch_async(_backgroundContentFetchingQueue, ^{ ASDisplayNode *node = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{ UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; [button sizeToFit]; node.frame = button.frame; return button; }]; // Use `node` as you normally would... node.backgroundColor = [UIColor redColor]; [self.view addSubview:node.view]; });


Tenga en cuenta que en su caso no es necesario usar UIButton, puede usar ASTextNode como un botón, ya que hereda de ASControlNode (lo mismo vale para ASImageNode). Esto se describe al final de la primera página de la guía: http://asyncdisplaykit.org/guide/ . Eso también te permitirá hacer el tamaño del texto en el hilo de fondo en lugar del hilo principal (el bloque que proporcionas en tu ejemplo se ejecuta en la cola principal).

Para completar, también comentaré sobre el código que proporcionó.

Está tratando de establecer el marco del nodo en el bloque cuando lo está creando, por lo que está tratando de establecer el marco en él durante su inicialización. Eso causa tu problema. No creo que necesite establecer el marco en el nodo cuando está utilizando initWithViewBlock: porque internamente ASDisplayNode usa el bloque para crear directamente su propiedad _view que se agrega a la jerarquía de vista al final.

También noté que estás llamando a addSubview: desde la cola de fondo, siempre debes enviar de vuelta a la cola principal antes de llamar a ese método. AsyncDisplayKit también agrega addSubNode: a UIView para mayor comodidad.

Cambié tu código para reflejar los cambios, aunque te recomiendo que uses ASTextNode aquí.

dispatch_queue_t _backgroundContentFetchingQueue; _backgroundContentFetchingQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0); dispatch_async(_backgroundContentFetchingQueue, ^{ ASDisplayNode *node = [[ASDisplayNode alloc] initWithViewBlock:^UIView *{ UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; [button sizeToFit]; //node.frame = button.frame; <-- this caused the problem return button; }]; // Use `node` as you normally would... node.backgroundColor = [UIColor redColor]; // dispatch to main queue to add to view dispatch_async(dispatch_get_main_queue(), [self.view addSubview:node.view]; // or use [self.view addSubnode:node]; ); });