[英]UIButton respond to a UIPickerview
所以我有一个UIPickerView
和UIButton
。
基本上,我已经构建了它,因此当滚动选项时图像会更改。 现在,我想添加一个提交按钮( UIButton
),以便在点击时将其发送到网址,以获取有关所选选项的更多信息。
到目前为止,这是我的代码。
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Load up NSArray
_characters = [[NSArray alloc] initWithObjects:@"bergerac" , @"biarritz" , @"chareleroi" , @"liege" , @"oostende" , nil];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - UIPickerView Methods
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _characters.count;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [_characters objectAtIndex:row];
}
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//Create UIImage
UIImage *bergeracimage = [UIImage imageNamed:@"Bergerac.JPG"];
UIImage *biarritizimage = [UIImage imageNamed:@"Biarritz-Anglet-Bayonne_Airport_view_from_landing_strip.jpg"];
UIImage *chareleroiimage = [UIImage imageNamed:@"Aéroport_de_Charleroi,_B737_Ryanair_-_2011.JPG"];
UIImage *liegeimage = [UIImage imageNamed:@"Liege_airport.jpg"];
UIImage *oostendeimage = [UIImage imageNamed:@"Luchthavengebouw_Antwerpen-Deurne.jpg"];
switch (row) {
case 0:
characterimage.image = bergeracimage;
break;
case 1:
characterimage.image = biarritizimage;
break;
case 2:
characterimage.image = chareleroiimage;
break;
case 3:
characterimage.image = liegeimage;
break;
case 4:
characterimage.image = oostendeimage;
break;
default:
characterimage.image = oostendeimage;
break;
}
}
我将如何实现UIButton
?
我一直在尝试将其合并到每个case
分支中,但是到目前为止还没有运气。
编辑:
好的,我已经花了整整一个小时左右的时间,现在代码看起来像这样,我正在尝试更改UIbutton中的链接;
{
//Create UIImage
UIImage *bergeracimage = [UIImage imageNamed:@"Bergerac.JPG"];
UIImage *biarritizimage = [UIImage imageNamed:@"Biarritz-Anglet-Bayonne_Airport_view_from_landing_strip.jpg"];
UIImage *chareleroiimage = [UIImage imageNamed:@"Aéroport_de_Charleroi,_B737_Ryanair_-_2011.JPG"];
UIImage *liegeimage = [UIImage imageNamed:@"Liege_airport.jpg"];
UIImage *oostendeimage = [UIImage imageNamed:@"Luchthavengebouw_Antwerpen-Deurne.jpg"];
//Create UIButton
UIButton *bergeraclink = [NSURL URLWithString:@"https://www.google.com"];
switch (row) {
case 0:
characterimage.image = bergeracimage;
_characterpath = bergeraclink;
case 1:
characterimage.image = biarritizimage;
break;
case 2:
characterimage.image = chareleroiimage;
break;
case 3:
characterimage.image = liegeimage;
break;
case 4:
characterimage.image = oostendeimage;
break;
default:
characterimage.image = oostendeimage;
break;
}
}
它仍然无法正常工作,但是代码等中没有错误,并且该应用程序可以运行,这是我做错了吗?
听起来您需要一个属性(或ivar)来保存要调用的正确URL。 然后,当您点击按钮时,您将可以访问URL。 也许是这样的:
//a property to hold the URL
@property (strong, nonatomic) NSString *urlString;
...
//set the URL in your switch statement
switch (row) {
case 0:
characterimage.image = bergeracimage;
self.urlString = @"http://yourserver.com/bergerac";
break;
...
-(IBAction)buttonTapped {
//call your web service with self.urlString
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.