我想加载一个URL在uiwebview中的xcode,它加载的很好,但问题是有零用户与它的交互。我无法触摸它上面的任何按钮,甚至无法滚动它。我已经在info.plist中尝试过Allow Arbitrary Loads = YES
,但这里没有发生任何事情是我的代码。uiwebview无法使用HTTP或HTTPS网址
[webPage setDelegate:self];
[webPage loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://url.com"]]];
[webPage addSubview:activityIndicatorView];
这里是更多的代码从.H:
@interface ViewController : UIViewController<UIWebViewDelegate>{
IBOutlet UIWebView *webPage;
}
@property (retain, nonatomic) IBOutlet UIWebView *webPage;
以S简单的一个简单的UIViewController从界面生成器uiwbview。 这里是我的info.plist
我弄清楚这个问题可能是在这里的这部分代码。我的uinavigationbar中还有一个菜单,它载入xml菜单。等待我将发布我的代码。
- (void) makeMenu{
@try {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0),^{
NSURL *url=[NSURL URLWithString:@"http://url/xml-menu.php"];
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:url];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
NSError *error = nil;
NSHTTPURLResponse *response = nil;
NSData *urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
if ([response statusCode] >=200 && [response statusCode] <300)
{
rssOutputData = [[NSMutableArray alloc]init];
xmlParserObject =[[NSXMLParser alloc]initWithData:urlData];
[xmlParserObject setDelegate:self];
[xmlParserObject parse];
}
dispatch_async(dispatch_get_main_queue(), ^{
sideMenu.delegate = self;
NSInteger count;
NSMutableArray *itemsArry = [[NSMutableArray alloc] init];
count = [rssOutputData count];
for (int i = 0; i < count; i++){
BTSimpleMenuItem *item = [[BTSimpleMenuItem alloc]initWithTitle:[[rssOutputData objectAtIndex:i]xmltitle] image:[UIImage imageNamed:@"arrow.png"]
onCompletion:^(BOOL success, BTSimpleMenuItem *item) {
[webPage loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[[rssOutputData objectAtIndex:i]xmllink]]]];
}];
[itemsArry addObject:item];
}
NSArray *itemSarry=[[NSArray alloc] initWithArray:itemsArry];
sideMenu = [[BTSimpleSideMenu alloc]initWithItem:itemSarry addToViewController:self];
});
});
}
@catch (NSException * e) {
NSLog(@"Exception: %@", e);
}
}
当我在viewdidload中调用此方法uiwebview停止响应。如果我不叫这部分uiwebview工作得很好。请帮助我,我也需要这个菜单。
您已删除您的活动指示灯在页面加载后???你确定你的activityIndicatorView不会阻止UI交互? –
activityIndicatorView是做得很好,我甚至尝试过没有它但仍然是相同的 –
url方案像http或https不会影响本地组件伙伴的userInteraction :)你从错误的角度看问题:)你可以提供一个更多的代码,比如你的webView加载如何?它作为一个子视图添加到其他一些VC?你正在处理什么webView的代表以及你在做什么? –