Pau*_* T. 1 objective-c uipickerview ios uipickerviewdelegate
对于我的uipickerview,我有:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view {
CGSize size = [pickerView rowSizeForComponent:0];
UILabel *labelMain = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
labelMain.backgroundColor = [UIColor clearColor];
labelMain.font = [UIFont fontWithName:kFontSegoeSemiBold size:14];
labelMain.textColor = kColor_default_orangeText;
labelMain.textAlignment = NSTextAlignmentCenter;
int age;
// from
if (pickerView == self.pickerFrom) {
age = minAge + row;
}
// to
else {
age = minAge_pickerTo + row;
}
labelMain.text = [NSString stringWithFormat:@"%d", age];
return labelMain;
}
Run Code Online (Sandbox Code Playgroud)
我知道如何制作蓝色选择指示器(我在uipickerview后面放置蓝色视图,并将标签背景颜色设置为clearColor.
我需要有这个选择器(从/到年龄选择器)(蓝色垂直线只适用于photoshop):

现在我已经创建了这个选择器:

我有一个问题:
我想在选择指示器(或拾取器视图的中心)中的区域具有白色文本颜色,在拾取器视图的其他区域中具有橙色文本颜色.可能吗?
试试这个:
#pragma mark - UIPickerViewDelegate
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
UILabel *label = (UILabel *)[self.yourPickerOutlet viewForRow:row forComponent:component];
label.textColor = [UIColor whiteColor];
label.backgroundColor = [UIColor blueColor];
}
#pragma mark PickerView DataSource
- (NSInteger)numberOfComponentsInPickerView:
(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView
numberOfRowsInComponent:(NSInteger)component
{
return [dataSourseArray count];
}
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
NSString* itemString = dataSourseArray[row];
UILabel *label;
if(view==nil){
label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 30)];
label.textColor = [UIColor blackColor];
label.backgroundColor = [UIColor clearColor];
label.shadowColor = [UIColor whiteColor];
label.shadowOffset = CGSizeMake(0,1);
label.textAlignment = NSTextAlignmentCenter;
}else{
label = (UILabel*) view;
}
label.text = itemString;
return label;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
382 次 |
| 最近记录: |