2010-01-29 49 views

回答

2

您可以通過將轉換應用於包含它的視圖來旋轉UIPickerView,很像我建議的in my answer here來縮放選取器。放置在視圖

3

//示例代碼做負載

[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]]; 
}