Повернуть UIPickerView, возможно?

Есть ли способ повернуть UIPickerView?


person Oscar    schedule 29.01.2010    source источник


Ответы (3)


Вы можете повернуть UIPickerView, применив преобразование к содержащему его представлению, как я предлагаю в моем ответе здесь для масштабирования средства выбора.

person Brad Larson    schedule 31.01.2010

// пример кода, помещенного в представление, сделал загрузку

[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]];
}
person Ravi_Parmar    schedule 15.10.2012

Вы ищете - (void) selectRow: (NSInteger) строка в компоненте: (NSInteger) анимированный компонент: (BOOL) анимированный?

Или вы имеете в виду, что хотите повернуть весь элемент управления на 90 градусов, чтобы колеса вращались влево и вправо?

person Daniel Yankowsky    schedule 29.01.2010