El button UIB no se puede hacer clic

He buscado en otras publicaciones, pero no pude encontrar una solución.

Tengo un button UIB que no es posible hacer clic. Cuando hago clic, no se oscurece. El problema no es sobre el método selector.

¡¿Alguien me puede ayudar?! Aquí está el código:

- (void)drawRect:(CGRect)rect { UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 436)]; UIView *detailsView = [[UIView alloc] init]; // I have other components here and after the UIButton UIButton *btnOpenPDF = [UIButton buttonWithType:UIButtonTypeCustom]; [btnOpenPDF setBackgroundImage:[UIImage imageNamed:@"btnVisualizarPdf"] forState:UIControlStateNormal]; [btnOpenPDF setFrame:CGRectMake(35, totalHeight, 249, 30)]; btnOpenPDF.userInteractionEnabled = YES; [btnOpenPDF addTarget:self action:@selector(openPdf:) forControlEvents:UIControlEventTouchDown]; [detailsView addSubview:btnOpenPDF]; [scroll addSubview:detailsView]; [self addSubview:scroll]; } 

El código anterior está dentro de una UIView que se invoca mediante un UIViewController a través del método -loadView ().

A continuación se muestra el método openPdf:

 - (IBAction)openPdf:(id)sender{ // Creates an instance of a UIWebView UIWebView *aWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320,450)]; // Sets the scale of web content the first time it is displayed in a web view aWebView.scalesPageToFit = YES; [aWebView setDelegate:self]; //Create a URL object. NSURL *urlString = [NSURL URLWithString:[NSString stringWithFormat:@"http://portalarp.com.br/portal/%@",[[[[[[[delegateFunctions products] objectAtIndex:[delegateFunctions selectedProductIndex]] objectForKey:@"ata"] objectForKey:@"nm_arquivo"] objectForKey:@"text"] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] stringByReplacingOccurrencesOfString:@"\t" withString:@""]]]; //URL Requst Object NSURLRequest *requestObj = [NSURLRequest requestWithURL:urlString]; //load the URL into the web view. [aWebView loadRequest:requestObj]; [self addSubview:aWebView]; [aWebView release]; } 

Creo que el problema es el scrollView .. no está reenviando el evento táctil .. intenta hacer lo siguiente:

 scroll.userInteractionEnabled = YES; scroll.exclusiveTouch = YES; 

drawRect es un lugar extraño para poner este código. Está llamado a dibujar la vista, y podría ser llamado mucho: no debería estar construyendo la vista allí. Por ejemplo, se puede llamar a drawRect cuando tocas el button (para volver a dibujarlo)

Si esto está en una UIView, probablemente el init es un lugar mucho mejor para poner este código.