- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 View 控制的应用程序。在我的 xib 上,我没有 webview,但我确实有按钮可以调出具有 webview 的类。所以点击第一个按钮,会弹出一个 uiwebview,依此类推。
现在,在我的一个类中,我打开了一个远程网页,上面有一个链接。我想用 shouldStartLoadwithrequest 覆盖那个按钮链接。这似乎从来没有被调用过。
现在我的类(class)名为 Tenth.m,我的 View Controller 中有这段代码
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType {
NSLog(@" Test spot 1");
NSString* scheme = [[request URL] scheme];
if ([@"didTap" isEqual:scheme]) {
// Call your method
NSLog(@" Test spot 2");
[self didTapButton1];
return NO;
} else {
NSLog(@" Test spot 3");
return YES;
}}
但我什么也没得到(我的 NSLog 都没有)。我已经尝试将其放入我的 Tenth.m 类(class)中,但仍然一无所获。我查看了其他示例,甚至下载了一个示例,但它仅使用 viewcontroller 和委托(delegate)类。没有三等舱。
我不知道为什么它没有被调用。
这是我的第三堂课
#import "Tenth.h"
@implementation Tenth
- (void)awakeFromNib
{
[category10 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.mywebsite.com/api/didtap.php"]]];
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)dealloc
{
[super dealloc];
}
- (void)didReceiveMemoryWarning
{
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
#pragma mark - View lifecycle
/*
// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView
{
}
*/
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
// Return YES for supported orientations
return YES;
}
@end
远程页面代码
<a href="didTap://button1">hello</a>
第十个.h文件
#import <UIKit/UIKit.h>
@interface Tenth : UIViewController <UIWebViewDelegate> {
IBOutlet UIWebView *category10;
}
-(IBAction)back;
@end
最佳答案
我的第一个猜测是 Web View 没有设置委托(delegate)。为了让它调用
- (BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType
包含此方法的类需要设置为 webview 的委托(delegate)。所以在代码的某处应该有一行类似于 webView.delegate = <variable>
,其中变量是实现了 shouldStartLoadWithRequest:
的类的实例方法。
当 webView 是 viewController View 的 subview 时,这通常是“self”。但是你描述你的应用程序的方式,我不确定它是否是 self,但听起来它不是 self,而是另一个类的实例的名称。
关于iphone - shouldStartLoadwithRequest 没有在子类中被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7630291/
我正在尝试调用 shouldStartLoadWithRequest 但它没有被调用,我用谷歌搜索它并发现我必须将 delegte 设置为 uiwebview 我正在使用标签栏项目 我已经添加了 @i
目前我正在开发一个混合应用程序,它使用 webView shouldStartLoadWithRequest: 为登录提供 token 。我的功能适用于我发出的每个正常请求(例如单击) - (BOO
我有一个 View 控制的应用程序。在我的 xib 上,我没有 webview,但我确实有按钮可以调出具有 webview 的类。所以点击第一个按钮,会弹出一个 uiwebview,依此类推。 现在,
我研究了又研究,但仍然不明白为什么 shouldStartLoadWithRequest 从未被调用过。我的页面加载正常,一些 UIWebview 委托(delegate)协议(protocol)方法
我的应用程序的一部分是用 JS 编写的,并在 WebView 中运行。我正在使用 UIWebView shouldStartLoadWithRequest 方法来捕获 http 请求,作为 JS 和
我最近更新到 cordova 6.0。在我的 MainViewController 代码中,我实现了 shouldStartLoadWithRequest UIWebViewDelegate 方法来做
在我的 UIWebView 中,我正在加载 Twitter 页面。我想将 webView 内的所有点击都作为单独的页面打开。所以我实现了 shouldStartLoadWithRequest: -(B
我收到了 HTML 格式的描述文本,我正在将它加载到 Web View 中,如果在描述中单击了一个链接,那么我将它加载到单独的 View Controller 中。但是 shouldStartLoad
我用这段代码初始化 WebView: self.webView = [[UIWebView alloc] initWithFrame:self.view.bounds]; self.webView.d
在我的 iPhone 应用程序中,我有一个 UIWebView,我正在其中加载本地 html。一切正常,但现在我希望能够处理本地链接(到脚注):当我点击本地链接时,我希望能够跳转到它引用的脚注,然后能
我已经构建了一个 Cordova 应用程序,我只是在 xcode 中添加一些 native 功能。我想从我的应用程序中拦截 url,如下所示: How to invoke Objective C me
我在我的一个程序中非常成功地使用了 shouldStartLoadWithRequest,但是整个项目只是概念验证而且很邋遢,我正在重新开始一个新项目。 然而 shouldStartLoadWithR
总的来说,我是编码新手!我正在尝试创建一个不允许导航到查看器的 webview。我已经输入了大部分编码,但我有两个未声明的错误,我不确定如何解决这个问题。 我想做的是创建一个 webView,但我想在
我在我的应用程序中使用 UIWebView 并且我正在覆盖 shouldStartLoadWithRequest 消息以检测正在单击哪种链接。如果它是一个“特殊”链接,我将 UIViewControl
我的应用程序中嵌入了一个 UIWebView。我正在做的是,为从它发出的所有请求添加一个 header (具体来说,授权 header )。 当从 HTML iframe 打开 URL 但它似乎无法向
我有一个带有 UIWebView Controller 的 View Controller 。我试图在 web View 的 html 内容中获取 javascript,以将一些信息传递给我的 obj
我已经开始使用 shouldStartLoadWithRequest 并在我理解的情况下遇到了令人费解的行为。我以最简单的形式尝试了以下... - (BOOL)webView:(UIWebView *
我正在使用 webStoryViewController,它使用 UIWebView 来处理网页。当用户单击 Web 链接时,它会从其他屏幕模态调用。如果找到应用商店链接,那么我有一个代码可以关闭我的
我正在创建一个具有 WebView 的应用程序。当用户单击 Web View 中的链接或按钮时,我希望能够获取新的 url 并编辑新的 url。 shouldStartLoadWithRequest
我有一个 UIWebView带有 delegate 的对象设置 webView.delegate = self和UIView 在所有 iOS 设备中都会调用以下委托(delegate)调用,除了搭载
我是一名优秀的程序员,十分优秀!