Jac*_*ins 0 iphone objective-c uipickerview ios
我有一个带有3个组件的UIPickerView,我需要前两个组件来显示一个字符串,第三个组件显示一个图像.我可以通过实施两者来实现这一点:
- (NSString *) pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view
Run Code Online (Sandbox Code Playgroud)
或者我是否需要创建标签并仅实施viewForRow?
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view
{
UILabel *firstLabel = [[UILabel alloc] initWithFrame:CGRectMake(100, 0, 60, 32)];
firstLabel.text = [array1 objectAtIndex:row];
firstLabel.textAlignment = UITextAlignmentLeft;
firstLabel.backgroundColor = [UIColor clearColor];
UILabel *secondLabel = [[UILabel alloc] initWithFrame:CGRectMake(165, 0, 60, 32)];
secondLabel.text = [array2 objectAtIndex:row];
secondLabel.textAlignment = UITextAlignmentLeft;
secondLabel.backgroundColor = [UIColor clearColor];
UIImage *img = [UIImage imageNamed:[NSString stringWithFormat:@"%@.png",[countries objectAtIndex:row]]];
UIImageView *icon = [[UIImageView alloc] initWithImage:img];
temp.frame = CGRectMake(170, 0, 30, 30);
UIView *tmpView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 32)] autorelease];
[tmpView insertSubview:icon atIndex:0];
[tmpView insertSubview:firstLabel atIndex:0];
[tmpView insertSubview:secondLabel atIndex:0];
[tmpView setUserInteractionEnabled:NO];
[tmpView setTag:row];
[channelLabel release];
[temp release];
return tmpView;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5381 次 |
| 最近记录: |