如何获取自定义UIPickerView? [英] How to get Custom UIPickerView?
本文介绍了如何获取自定义UIPickerView?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在Custom UIPiker中实现以下功能,如下图所示.
I want to achieve the following functionality in Custom UIPiker as shown in below picture.
我只想像上面那样更改所选区域的文本颜色.
I want to change the text colour of selected area only like above.
推荐答案
在您的pickerview中的viewDidLoad
方法中添加标签,如下所示.
Add lable in your pickerview in your viewDidLoad
method as below.
在ViewController.h
文件中同时定义label
和myPickerView
- (void)viewDidLoad
{
myPickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)];
myPickerView.delegate = self;
myPickerView.showsSelectionIndicator = YES;
[self.view addSubview:myPickerView];
label = [[UILabel alloc] initWithFrame:CGRectMake(145, 76, 36, 36)];
//label.text = @"Label";
label.font = [UIFont boldSystemFontOfSize:20];
label.layer.cornerRadius = 18;
[label setTextColor:[UIColor whiteColor]];
label.backgroundColor = [UIColor blueColor];
label.textAlignment = NSTextAlignmentCenter;
label.shadowColor = [UIColor whiteColor];
label.shadowOffset = CGSizeMake (0,1);
[myPickerView addSubview:label];
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
在pickerview委托中设置标签标题.
in pickerview delegate set label title.
#pragma mark - PickerView delegate
- (void)pickerView:(UIPickerView *)pickerView didSelectRow: (NSInteger)row inComponent:(NSInteger)component {
// Handle the selection
[label setText:[NSString stringWithFormat:@"%d",row]];
NSLog(@"%@",[NSString stringWithFormat:@"%d",row]);
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSLog(@"%@",[NSString stringWithFormat:@"%d",row]);
[label setText:[NSString stringWithFormat:@"%d",row]];
return [NSString stringWithFormat:@"%d",row];
}
您的OuytPut是:
这篇关于如何获取自定义UIPickerView?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文