¿Cómo cancelar una UIWebView?

UIViewController un UIViewController con un UIWebView como vista. ¿Cómo UIWebView el UIWebView cuando el usuario golpea un button de cancelar?

Una idea que tengo es tener el enlace del button cancelar a http: // cancelar y luego registrarse

 - (void)webViewDidStartLoad:(UIWebView *)webView 

Si webView.request.URL.host isEqualToString:@"cancel" , luego descarte el controller de vista.

¿El host debe tener un punto en él, por ejemplo, "cancelar.com"?

Estás en el path correcto, pero tu enfoque está ligeramente apagado. No necesita o quiere que esto sea una URL HTTP. Cancele su URL cancel:

 <a href="cancel:">Thing to click</a> 

Luego implementa webView:shouldStartLoadWithRequest:navigationType: en su delegado de vista web. Algo así (no probado):

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([request.URL.scheme isEqualToString:@"cancel"]) { [self dismissModalViewControllerAnimated:YES]; return NO; } return YES; } 

No está del todo claro si desea dejar de cargar en una vista web o simplemente descartar el controller de vista modal que lo contiene.

Para detener la carga:

 [webView stopLoading]; 

Para descartar el controller de vista:

 [self dismissModalViewControllerAnimated:YES]; 

No olvide configurar el delegate la vista web en nil antes de lanzarlo.