Iphone 更改Pickerview中的文本大小
如何在选择器视图中更改文本的大小Iphone 更改Pickerview中的文本大小,iphone,objective-c,cocoa-touch,xcode,Iphone,Objective C,Cocoa Touch,Xcode,如何在选择器视图中更改文本的大小 任何人请帮助。您可以使用以下代码更改UIPickerView的字体大小: - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *retval = (id)view; if (
任何人请帮助。您可以使用以下代码更改UIPickerView的字体大小:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *retval = (id)view;
if (!retval) {
retval= [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)] autorelease];
}
retval.font = [UIFont systemFontOfSize:22];
return retval;
}
您可以使用以下代码更改UIPickerView的字体大小:
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row
forComponent:(NSInteger)component reusingView:(UIView *)view {
UILabel *retval = (id)view;
if (!retval) {
retval= [[[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)] autorelease];
}
retval.font = [UIFont systemFontOfSize:22];
return retval;
}
为了完整起见,yakub_moriss代码缺少一行,这是indragie发出的信号。没有一行
retval.text = [pickerViewArray objectAtIndex:row];
选择器将为空。为完整起见,yakub_moriss代码缺少一行,这是indragie发出的信号。没有一行
retval.text = [pickerViewArray objectAtIndex:row];
选择器将为空。这也是更改组件中文本对齐方式的好方法,也可以更改retval标签的文本对齐方式 此外,标签的背景应设置为清晰: - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *retval = (id)view; if (!retval) { retval = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)]; } retval.opaque = NO; retval.backgroundColor = [UIColor clearColor]; retval.font = [UIFont systemFontOfSize:28]; if (component == 0) { retval.textAlignment = UITextAlignmentRight; retval.text = [NSString stringWithFormat:@"%d ", row]; } else { retval.textAlignment = UITextAlignmentLeft; retval.text = [NSString stringWithFormat:@" .%d", row]; } return retval; } - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { if (component == 0) { return 100; } return 88; }
这也是更改组件中文本对齐方式的好方法,也可以更改retval标签的textAlignment 此外,标签的背景应设置为清晰: - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *retval = (id)view; if (!retval) { retval = [[UILabel alloc] initWithFrame:CGRectMake(0.0f, 0.0f, [pickerView rowSizeForComponent:component].width, [pickerView rowSizeForComponent:component].height)]; } retval.opaque = NO; retval.backgroundColor = [UIColor clearColor]; retval.font = [UIFont systemFontOfSize:28]; if (component == 0) { retval.textAlignment = UITextAlignmentRight; retval.text = [NSString stringWithFormat:@"%d ", row]; } else { retval.textAlignment = UITextAlignmentLeft; retval.text = [NSString stringWithFormat:@" .%d", row]; } return retval; } - (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component { if (component == 0) { return 100; } return 88; }
我使用的是一个类别。它依赖于我拥有的其他类别: 不管怎样,这个看起来像这样:
#import <UIKit/UIKit.h>
@interface UIPickerView (CustomViewForRow)
@property (nonatomic, strong) UIFont *customViewForRowFont;
- (UIView *)customViewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
@end
我使用的是一个类别。它依赖于我拥有的其他类别: 不管怎样,这个看起来像这样:
#import <UIKit/UIKit.h>
@interface UIPickerView (CustomViewForRow)
@property (nonatomic, strong) UIFont *customViewForRowFont;
- (UIView *)customViewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view;
@end
试试这个
很容易挑选:试试这个
很容易挑选:Hey Luca的可能重复的可能重复在这个概念上有一个疑问。实际上我的数组是arr1。因此我相应地设置了retval.text=[arr1 objectAtIndex:row];但是我得到的错误就像这个程序在那条特定的线路上接收到信号SIGABRT;pickerView.frame=CGRectMake10,75200150;pickerView.delegate=self;pickerView.showsSelectIndicator=是;对于标签大小,我添加了与Yakub所说的相同的代码。你能告诉我y吗?嘿,Luca对这个概念有一个疑问。实际上我的数组是arr1。因此,我相应地设置了retval.text=[arr1 objectAtIndex:row];但是我得到的错误就像这个程序在那条特定的线路上接收到信号SIGABRT;pickerView.frame=CGRectMake10,75200150;pickerView.delegate=self;pickerView.showsSelectIndicator=是;对于标签大小,我添加了与Yakub所说的相同的代码。你能告诉我y吗?