我正在尝试制作标签浏览器,就像带有标签的 safari 或 chrome 一样。当用户打开新的 url 时,webview 将被添加到数组中。当用户点击按钮然后 openLoadedWebview: 将调用并删除原始 webview 并从数组中打开加载的 webview。
但它没有发生。工作的事情是: webview removefromsuperview 工作。wv 成功添加到 self.view。索引号 问题: 新添加的 wv 与具有相同 url 的 webview 相同。
任何更好的想法或方法......我是全新的......
主视图控制器.h
@interface mainViewController : UIViewController <UITextFieldDelegate, UIWebViewDelegate>
{
UIWebView *webView;
UIWebView *wv;
}
@property (nonatomic, strong) NSMutableArray *array;
主视图控制器.m
- (void)viewDidLoad
{
[super viewDidLoad];
webView = [[UIWebView alloc]init];
webView.frame = CGRectMake(10, 130, 300, 400);
webView.delegate = self;
[self.view addSubview:webView];
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField {
textField.text = [self repairURL:textField.text];
NSURL *url = [[NSURL alloc] initWithString:textField.text];
NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
[webView loadRequest:request];
[array addObject:webView];
return true;
}
-(void)openLoadedWebview:(NSString *)pageLabel
if ([cell.label.text isEqualToString:@"Trending"]) {
NSLog(@"Selected Cell: %@", pageLabel);
NSLog(@"number of objects %d", [array count]);
// wv = [[UIWebView alloc]init];
wv = [array objectAtIndex:0];
wv.frame = CGRectMake(10, 100, 300, 400);
wv.delegate = self;
[self.view addSubview:wv];
}
else if ([cell.label.text isEqualToString:@"Rec"]) {
wv = [array objectAtIndex:1];
wv.frame = CGRectMake(10, 100, 300, 400);
wv.delegate = self;
[self.view addSubview:wv];
}
[webView removeFromSuperview];
}