如何在一个 UIViewController 下显示 Xcode 上的多个 Web 视图链接
How to show multiple web view links on Xcode under one UIViewController
假设我有一个带有 3 个按钮的应用程序,每个按钮打开 3 个不同的 UIWebView 视图控制器。我希望有 1 个 UIWebView 视图控制器,而不是每个按钮有 3 个单独的视图控制器,并且根据按下的按钮,这将显示在 UIWebView 上。
这只是我所说的一个例子
第一个视图控制器
按钮 1 打开 Yahoo
按钮 2 打开 Google
按钮 3 打开 Bing
secondViewController
如果按下按钮 1,则在 UIWebView 上显示 Yahoo
如果按下 button2,则在 UIWebView 上显示 google
如果按下 button3,显示 bing o UIWebView
我是怎么想到这个的?
按钮 1 打开 Yahoo
在行动中
写:
[webView loadRequest:YOUR REQUEST_YAHOO];
// reload your view
按钮 2 打开 Google
在行动中
写:
[webView loadRequest:YOUR REQUEST_GOOGLE];
// reload your view
按钮 3 打开 Bing
在行动中
写:
[webView loadRequest:YOUR REQUEST_Bing];
// reload your view
要重新加载您的视图,您可以使用:
[self.view setNeedsDisplay]; //such methods
在 iOS 中,每个对象都包含自己的 tags
如果您有兴趣,请使用标签或其他选项。
假设您的 button1.tag=10、button2.tag=20 和 button3.tag=30
在 .h 文件中设置全局字符串
NSString *activecheck;
// assign the single method for all buttons in touchup inside method
- (IBAction)button_GetDeals:(UIButton*)sender {
switch (sender.tag)
{
case 10:
activecheck=@"1";
break;
case 20:
activecheck=@"2";
break;
case 30:
activecheck=@"3";
break;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"secondviewcontrolleridentidiername"]) {
secondViewController *destViewController = segue.destinationViewController;
destViewController. buttontype = activecheck;
}
// 这是你的第二个视图控制器
@interface secondViewController : UIViewController
@property (nonatomic, strong) NSString *buttontype;
@property (strong, nonatomic) IBOutlet UIWebView *webview;
@end
在您的 .m 文件中 viewdidload
- (void)viewDidLoad
{
[super viewDidLoad];
if ([buttontype isEqualtoString:@"1"])
NSString *strURL = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:strURL];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[self.webiew loadRequest:urlRequest];
}
就像满足 bing 和 yahoo 的另外两个条件一样....
假设我有一个带有 3 个按钮的应用程序,每个按钮打开 3 个不同的 UIWebView 视图控制器。我希望有 1 个 UIWebView 视图控制器,而不是每个按钮有 3 个单独的视图控制器,并且根据按下的按钮,这将显示在 UIWebView 上。
这只是我所说的一个例子
第一个视图控制器
按钮 1 打开 Yahoo
按钮 2 打开 Google
按钮 3 打开 Bing
secondViewController
如果按下按钮 1,则在 UIWebView 上显示 Yahoo 如果按下 button2,则在 UIWebView 上显示 google 如果按下 button3,显示 bing o UIWebView
我是怎么想到这个的?
按钮 1 打开 Yahoo
在行动中 写:
[webView loadRequest:YOUR REQUEST_YAHOO];
// reload your view
按钮 2 打开 Google
在行动中 写:
[webView loadRequest:YOUR REQUEST_GOOGLE];
// reload your view
按钮 3 打开 Bing
在行动中 写:
[webView loadRequest:YOUR REQUEST_Bing];
// reload your view
要重新加载您的视图,您可以使用:
[self.view setNeedsDisplay]; //such methods
在 iOS 中,每个对象都包含自己的 tags
如果您有兴趣,请使用标签或其他选项。
假设您的 button1.tag=10、button2.tag=20 和 button3.tag=30
在 .h 文件中设置全局字符串
NSString *activecheck;
// assign the single method for all buttons in touchup inside method
- (IBAction)button_GetDeals:(UIButton*)sender {
switch (sender.tag)
{
case 10:
activecheck=@"1";
break;
case 20:
activecheck=@"2";
break;
case 30:
activecheck=@"3";
break;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"secondviewcontrolleridentidiername"]) {
secondViewController *destViewController = segue.destinationViewController;
destViewController. buttontype = activecheck;
}
// 这是你的第二个视图控制器
@interface secondViewController : UIViewController
@property (nonatomic, strong) NSString *buttontype;
@property (strong, nonatomic) IBOutlet UIWebView *webview;
@end
在您的 .m 文件中 viewdidload
- (void)viewDidLoad
{
[super viewDidLoad];
if ([buttontype isEqualtoString:@"1"])
NSString *strURL = @"http://www.google.com";
NSURL *url = [NSURL URLWithString:strURL];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[self.webiew loadRequest:urlRequest];
}
就像满足 bing 和 yahoo 的另外两个条件一样....