Ios 从ViewController传递URL
我有一个带两个按钮的ViewController1。第二个ViewController2带有UIWebView 我想做的是: 1-当我点击ViewController中的按钮1时,它会进入ViewController中的UIWebView(2)并打开@“www.google.com” 2-当我单击ViewController1中的按钮2时,它会转到ViewController2中的同一UIWebView并打开@“www.apple.com” 如何将URL从按钮1和2传递到ViewController2中的UIWebViewIos 从ViewController传递URL,ios,xcode,uiwebview,Ios,Xcode,Uiwebview,我有一个带两个按钮的ViewController1。第二个ViewController2带有UIWebView 我想做的是: 1-当我点击ViewController中的按钮1时,它会进入ViewController中的UIWebView(2)并打开@“www.google.com” 2-当我单击ViewController1中的按钮2时,它会转到ViewController2中的同一UIWebView并打开@“www.apple.com” 如何将URL从按钮1和2传递到ViewControll
感谢您的帮助。在表单的第二个UIViewController(子类)上有一个属性
@property (strong, nonatomic) NSURL *url;
按下按钮后,根据需要进行设置,然后将UIViewController推到UINavigationController上
在第二个UIViewController的viewDidLoad方法中,指示UIWebView打开
self.url
假设两个按钮都触发了一个操作,您可以执行以下操作:
- (IBAction)buttonPushed:(UIButton*)sender
{
ViewController2 *vc2 = [[ViewController2 alloc] initWithNibName:nil bundle:nil];
switch (sender.tag) {
case 1: // button one tapped
vc2.url = [NSURL URLWithString:@"url for button 1 here";
break;
case 2: // button one tapped
vc2.url = [NSURL URLWithString:@"url for button 2 here";
break;
[self.navigationController pushViewController:vc2 animated:YES];
}
如你所见,想法是让第一个视图控制器在创建第二个视图控制器时传递第二个视图控制器所需的任何信息。我只想补充一点,如果您使用的是故事板分段,您应该实现
prepareforsgue:
方法,并在那里设置UIViewController上的属性值即将展出。嗨,卡莱布,谢谢你的帮助。你能确认一下这个打印屏幕吗?我有一些错误。感谢您的sender
参数是typeid
,它可以指向任何对象。如果您不想让编译器抱怨,请确保它是一个具有标记
属性的类型,如UIView*或UIButton*。另外,你似乎至少有一个短的卷曲括号。嗨,卡莱布。你好吗?你能再帮我点吗?我犯了两个错误。一个是说没有方法urlWithString,另一个是说在ViewController2中找不到属性url,但有…我将从四个文件中发送四个打印。如果你不介意的话,去看看。谢谢,对不起,我应该说清楚一点。通常,当人们回答像您这样的问题时,代码会直接输入SO,特别是当作者手边没有编译器时。我喜欢在可能的时候测试答案,但在这种情况下我没有,所以有一些小错误。通过查看受影响类的文档,您可以自己找到答案:从字符串创建URL的方法称为URLWithString:
,而不是URLWithString:
,推送新控制器的方法是-pushViewController:animated:
。