общий UIWebView для всех просмотров - PullRequest
1 голос
/ 08 марта 2011

Я хочу добавить UIWebView ко всем представлениям, присутствующим в приложении. Я не загружаю веб-представление так хорошо, как видимое. Может кто-нибудь, пожалуйста, помогите мне в том же.

Чтобы заставить его работать, я создал класс представления Shared Web.

//.h Implementation
@interface WebViewAdds : UIWebView {

}

+ (WebViewAdds *) sharedWebView ;
@end


WebViewAdds *g_sharedWebView ;

@implementation WebViewAdds

+(WebViewAdds *) sharedWebView  
{
    if (g_sharedWebView == nil) {

        g_sharedWebView = [[WebViewAdds alloc] initWithFrame:CGRectMake(0, 400, 320, 60)];

        [g_sharedWebView setDelegate:self];

        NSString *urlAddress = @"http://www.google.com";
        NSURL *url = [NSURL URLWithString:urlAddress];

        NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

        [g_sharedWebView loadRequest:requestObj];
    }

    return g_sharedWebView;
}

- (id)initWithFrame:(CGRect)frame {

    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code.
    }
    return self;
}



- (void)dealloc {
    [super dealloc];
}

@end

И во всех контроллерах представления я звоню так же, как

-(UIWebView *) testWebView {

    return [WebViewAdds sharedWebView] ;
}

-(void) viewDidLoad {
    [super viewDidLoad];
    [self.view addSubview:self.testWebView];   
}

1 Ответ

1 голос
/ 08 марта 2011

Я вижу две проблемы.

Во-первых, вы не правильно делаете синглтон. Этот ТАК вопрос содержит полезную информацию.

Вторая проблема заключается в том, что у вас есть подкласс UIWebView, и вы устанавливаете его делегат для себя. В идеале делегаты - это отдельный класс, который обеспечивает дополнительное поведение.

...