как открыть ссылку в uiwebview в части страницы? - PullRequest
0 голосов
/ 18 ноября 2010

Я сейчас делаю одно приложение, где на одной странице у меня есть панель навигации с кнопкой назад и uiwebview. при нажатии кнопки эта страница должна быть загружена. Моя проблема в том, что когда эта страница загружена, она покрывает всю страницу с переданным URL и не ограничивается этим конкретным uiwebview. и в результате я не могу перейти на какую-то другую страницу.

Я использовал следующий код для того же:

- (void)viewWillAppear:(BOOL)animated
{
  NSString *url = [NSString stringWithFormat:@"http://www.facebook.com/"];

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
 NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:url]];
 [webview loadRequest:request];

 [super viewWillAppear:animated];
}

Кто-нибудь может мне ответить, как решить эту проблему?

Спасибо заранее.

1 Ответ

3 голосов
/ 18 ноября 2010

Когда вы используете: [[UIApplication sharedApplication] openURL... он вызывает safari, чтобы открыть URL, после того, как он закрывает ваше приложение.

Итак, создайте WebViewController и в viewDidLoad добавьте следующее:

NSString *urlAddress;
if(siteType == @"facebook"){
  self.title = @"Facebook";
  urlAddress = @"http://www.facebook.com";
}

//Create a URL object.
NSURL *url = [NSURL URLWithString:urlAddress];

//URL Requst Object
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
[webView loadRequest:requestObj];

и в кнопке корневого контроллера добавьте это к действию:

WebViewController *wvc = [WebViewController alloc];
wvc.siteType = @"facebook";
[self.navigationController pushViewController:wvc animated:YES];

И, конечно, для заголовка WebViewController вам необходимо:

@interface WebViewController : UIViewController <UIWebViewDelegate>
{
    NSString *siteType;
    IBOutlet UIWebView *webView;
}
@property (nonatomic, retain) NSString *siteType;
@property (nonatomic, retain) UIWebView *webView;
@end

и не забудьте @synthesize siteType,webView;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...