【发布时间】:2011-12-03 16:43:36
【问题描述】:
我有一个多组件选择器,带有两个单独的轮子,显示相关信息。我想根据选择的组件显示图像。例如:如果在两个轮子中都选择了“AA”,则会显示图像 AA。如果将右轮改为“B”,则会显示图像 AB。
提前感谢您的帮助。
问候,
【问题讨论】:
标签: iphone image view sdk picker
我有一个多组件选择器,带有两个单独的轮子,显示相关信息。我想根据选择的组件显示图像。例如:如果在两个轮子中都选择了“AA”,则会显示图像 AA。如果将右轮改为“B”,则会显示图像 AB。
提前感谢您的帮助。
问候,
【问题讨论】:
标签: iphone image view sdk picker
你可以这样做:
#import <UIKit/UIKit.h>
@interface PickerController: UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> {
NSArray *titleStrings;
UIPickerView *picker;
UIImage *imageView;
}
@end
@implementation PickerController
- (id) init {
if (self = [super init]) {
titleStrings = [[NSArray alloc] initWithObjects:@"A", @"B", NULL];
picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 100, 320, 100)];
picker.showsSelectionIndicator = YES;
picker.delegate = self;
picker.dataSource = self;
[self.view addSubview:picker];
imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"empty.png"]];
imageView.frame = CGRectMake(0, 200, imageView.frame.size.width, imageView.frame.size.height);
[self.view addSubview:imageView];
[imageView release];
[picker release];
}
return self;
}
- (void) dealloc {
[titleStrings release];
[super dealloc];
}
/* UIPickerViewDataSource */
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
return 2;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
return 2;
}
/* UIPickerViewDelegate */
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
return [titleStrings objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
NSString *first = [titleStrings objectAtIndex:[pickerView selectedRowInComponent:0]];
NSString *second = [titleStrings objectAtIndex:[pickerView selectedRowInComponent:1]];
NSString *imageName = [[NSString alloc] initWithFormat:@"%@%@", first, second];
imageView.image = [UIImage imageNamed:imageName];
[imageName release];
[imageView sizeToFit];
}
@end
【讨论】: