旋转 UIPickerView,可能吗?

Posted

技术标签:

【中文标题】旋转 UIPickerView,可能吗?【英文标题】:Rotate UIPickerView, Possible? 【发布时间】:2010-01-29 12:59:21 【问题描述】:

有没有办法旋转 UIPickerView?

【问题讨论】:

【参考方案1】:

//放在视图中的示例代码确实加载了

[super viewDidLoad];
myPicker.delegate = self;
myPicker.dataSource = self;
myPicker.showsSelectionIndicator =YES;
myPicker.backgroundColor = [UIColor blackColor];

CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14/2);

//original settings
//rotate = CGAffineTransformScale(rotate, 0.1, 0.8);

rotate = CGAffineTransformScale(rotate, 0.2, 1.65);
[self.myPicker setTransform:rotate];    

NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"155", @"165", @"175", 
                  @"185", @"195", @"205", @"215", nil];
self.pickerData = array; 
[array release];

NSInteger TOTALITEM = [pickerData count];

UILabel *theview[TOTALITEM-1]; // + 1 for the nil
for (int i=1;i<=TOTALITEM-1;i++)   
 theview[i] = [[UILabel alloc] init];
 theview[i].text = [NSString stringWithFormat:@"%d",i];
 theview[i].textColor = [UIColor blackColor];
 theview[i].frame = CGRectMake(0,0, 25, 25);
 theview[i].backgroundColor = [UIColor clearColor];
 theview[i].textAlignment = UITextAlignmentCenter;
 theview[i].shadowColor = [UIColor whiteColor];
 theview[i].shadowOffset = CGSizeMake(-1,-1);
 theview[i].adjustsFontSizeToFitWidth = NO;

 UIFont *myFont = [UIFont fontWithName:@"Helvetica" size:30];
[theview[i] setFont:myFont];



CGAffineTransform rotateItem = CGAffineTransformMakeRotation(-3.14/2);
rotateItem = CGAffineTransformScale(rotateItem, .5, 5);


for (int j=1;j<=TOTALITEM-1;j++)  
    theview[j].transform = rotateItem;

 

pickerData = [[NSMutableArray alloc] init];


for (int j=1;j<=TOTALITEM-1;j++)  
[pickerData addObject:theview[j]];

【讨论】:

【参考方案2】:

您可以通过对包含它的视图应用变换来旋转 UIPickerView,就像我建议 in my answer here 缩放选择器一样。

【讨论】:

【参考方案3】:

你在找- (void)selectRow:(NSInteger)row inComponent:(NSInteger)component animated:(BOOL)animated吗?

或者您的意思是要将整个控件旋转 90 度,从而使***左右旋转?

【讨论】:

以上是关于旋转 UIPickerView,可能吗?的主要内容,如果未能解决你的问题,请参考以下文章

UIPickerView:旋转时获取行值?

每次我旋转组件时,UIPickerView 似乎都在泄漏

UIPickerView 的 selectedRowInComponent 仅在旋转且未选中时返回随机行。怎么了?

Swift - 水平 UIPickerView

如果我在选择器旋转时使用完成按钮关闭 UIPickerview 的操作表,则获取空值

UIPickerView 与导航栏颜色相同