iOS UIPickerView使用技巧
修改字型大小及顏色
- 方法一
- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component {
NSDictionary* titleTextAttributes = [NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:12.f/255.f green:14.f/255.f blue:14.f/255.f alpha:1], NSForegroundColorAttributeName,
[UIFont systemFontOfSize:16 weight:UIFontWeightSemibold], NSFontAttributeName,
nil];
NSString *str = self.dataAry[row];
NSAttributedString *restr = [[NSAttributedString alloc] initWithString:str attributes:titleTextAttributes];
return restr;
}
注意:不能和titleForRow方法同時使用
- 方法二
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
UILabel* pickerLabel = (UILabel*)view;
if (!pickerLabel){
pickerLabel = [[UILabel alloc] init];;
pickerLabel.adjustsFontSizeToFitWidth = YES;
pickerLabel.textAlignment = NSTextAlignmentCenter;
pickerLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];
pickerLabel.textColor = [UIColor colorWithRed:12.f/255.f green:14.f/255.f blue:14.f/255.f alpha:1];
}
pickerLabel.text = [self pickerView:pickerView titleForRow:row forComponent:component];
return pickerLabel;
}
修改分割線顏色
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
UILabel* pickerLabel = (UILabel*)view;
if (!pickerLabel){
pickerLabel = [[UILabel alloc] init];;
pickerLabel.adjustsFontSizeToFitWidth = YES;
pickerLabel.textAlignment = NSTextAlignmentCenter;
pickerLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightSemibold];
pickerLabel.textColor = [UIColor colorWithRed:12.f/255.f green:14.f/255.f blue:14.f/255.f alpha:1];
}
pickerLabel.text=[self pickerView:pickerView titleForRow:row forComponent:component];
[self changeSpearatorLineColor];
return pickerLabel;
}
#pragma mark - 改變分割線的顏色
- (void)changeSpearatorLineColor {
for(UIView *speartorView in _dataPickerView.subviews) {
if (speartorView.frame.size.height < 1) {
speartorView.backgroundColor = [UIColor redColor];
}
}
}
注意:這個方法只有放到下面的方法才有效果,獲取pickerView:viewForRow:forComponent:reusingView:中定義的View,當pickerView:viewForRow:forComponent:reusingView:未實現或者行或分組不可用時返回nil
參考
相關文章
- iOS AutoLayout使用技巧iOS
- iOS 動畫技巧 (一)iOS動畫
- 最佳化iOS小技巧iOS
- iOS開發小技巧合集iOS
- iOS 核心動畫高階技巧 - 1iOS動畫
- iOS這些小技巧你都知道嗎iOS
- iOS馬甲包過審技巧彙總iOS
- CListCtrl使用技巧
- uedit使用技巧
- clion使用技巧
- Python使用技巧Python
- chrome使用技巧Chrome
- Git 使用技巧Git
- PPT使用技巧
- Fiddler使用技巧
- bcm 使用技巧
- iOS CocoaPods使用iOS
- Vivado使用技巧(27):RAM編寫技巧
- Vivado使用技巧(26):HDL編寫技巧
- Laravel Faker 使用技巧Laravel
- Gradle 使用技巧(一)Gradle
- photoshop使用小技巧
- LaTeX使用技巧方法
- thymeleaf的使用技巧
- Pandas的使用技巧
- Windows使用小技巧Windows
- QTreeWidget的使用技巧QT
- VSCode的使用技巧VSCode
- 訪達使用技巧
- WPS使用技巧|word
- iOS · WCDB的使用iOS
- IOS動畫使用iOS動畫
- iOS高階開發者面試必過技巧iOS面試
- iOS開發常用小技巧記錄(持續更新)iOS
- Vivado使用技巧(19):使用Vivado Simulator
- RocketMQ場景使用技巧MQ
- AndroidStudio使用技巧-debug篇Android
- VS Code 使用小技巧