Я новичок в IOS и Цель C.
Сценарий у меня есть 2 кнопки, которые открывают (с segue) 2 контроллера представления, содержащие UIWebview.
Я подумал, что лучше сделать это с 1 UIWebView, поэтому я попытался передать объект запроса веб-страницы и использовать только один контроллер веб-просмотра.
поэтому я получил wwwBtn (UIButton, который открывает сайт) и fbBtn (UIButton, который идет по URL-адресу Facebook), мой viewController и wwwWebViewController, который содержит th UIWebView.
Вот как я это сделал.
Файл viewController.h:
@interface ViewController : UIViewController {
UIButton *wwwBtn;
UIButton *fbButton;
}
@property (retain, nonatomic) IBOutlet UIButton *wwwBtn;
@property (retain, nonatomic) IBOutlet UIButton *fbBtn;
Файл ViewController.m:
#import "ViewController.h"
#import "wwwWebViewController.h"
@implementation ViewController
@synthesize wwwBtn;
@synthesize fbBtn;
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"web"]) {
NSString *urlstr=@"http ://www.google.com";
wwwWebViewController *vc = [segue destinationViewController];
vc.urlStr = urlstr;
} else if ([[segue identifier] isEqualToString:@"fb"]) {
NSString *urlstr = @"http://www.facebook.com";
wwwWebViewController *vc = [segue destinationViewController];
vc.urlStr = urlstr;
}
}
файл wwwWebViewController.h:
@interface wwwWebViewController : UIViewController {
UIWebView *webView;
}
@property (retain, nonatomic) IBOutlet UIWebView *webView;
Файл wwwWebViewController.m:
- (void)viewDidLoad
{
NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
[super viewDidLoad];
}