我看到是否有办法将变量传递给xcode中的按钮。我有一个Web链接,我正在从我存储到NSString的API中检索。我只是想知道是否有办法将其传递给按钮,以便在点击它时可以相应地跟随链接。
答案 0 :(得分:2)
您将该网址存储在某些ivar或属性中。您可以照常为按钮指定操作。该操作不过是一个视图控制器的方法。在该方法中,您执行该链接。
这就是你可以"关注"你的链接:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://www.klecker.de"]];
在您的情况下,您将使用NSString变量而不是我在此示例中使用的常量。
答案 1 :(得分:0)
您可以将UIBUtton子类化并添加您喜欢/需要的任何属性/变量。根据您的描述,我将使用NSURL而不是NSString ...
在.h文件中创建一个新的UIButton子类:
#import <UIKit/UIKit.h>
@interface MyButton : UIButton
{
NSURL* buttonUrl;
}
@property (nonatomic, retain) NSURL* buttonUrl;
@end
并在.m文件中简单地说:
#import "MyButton.h"
@implementation MyButton
@synthesize buttonUrl;
@end
然后在你的ViewController中:(别忘了#import“MyButton.h”
MyButton *theButton = [[MyButton alloc] initWithFrame:someframe];
[theButton addTarget:self action:@selector(buttonPushed:) forControlEvents:UIControlEventTouchUpInside];
theButton.buttonUrl = [NSURL URLWithString:apiString];
[self.view addSubView:theButton];
[theButton release];
...然后,当按下按钮时,您可以再次获取URL:
-(void)buttonPushed:(id)sender{
NSURL* theUrl = [(MyButton*)sender getButtonUrl];
}