Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 更改Pickerview中的文本大小_Iphone_Objective C_Cocoa Touch_Xcode - Fatal编程技术网

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吗?