1

我正在尝试制作标签浏览器,就像带有标签的 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];
}
4

1 回答 1

4

您可以使用其中之一: https ://github.com/graetzer/SGTabs https://github.com/xxhp/BrowserTabViewDemo

我认为这就是您想要实现的目标:https ://github.com/fictorial/BHTabBar

于 2013-02-12T16:12:37.947 回答