【发布时间】:2011-10-28 03:05:13
【问题描述】:
我想在按下按钮后为我的 UIPickerView 设置动画。我已经将我的 UIPickerView 编码为隐藏在 viewDidLoad 上,并且在按下按钮后不隐藏,但它不像 ModalViewController 默认的动画那样动画。我只想让我的 UIPickerView 像 ModalViewController 默认动画一样进行动画处理。
我已经在网站和网络上进行了研究,但我似乎无法正确完成。
这是我的代码:
#pragma mark - Picker View
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 4;
}
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
timersArray = [[NSMutableArray alloc] init];
[timersArray addObject:@"No timer"];
[timersArray addObject:@"15 seconds"];
[timersArray addObject:@"30 seconds"];
[timersArray addObject:@"60 seconds"];
return [timersArray objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
if ([[timersArray objectAtIndex:row] isEqual:@"No timer"])
{
timerIndication.text = @"No timer selected";
timersPickerView.hidden = YES;
// Animation code to dismiss picker should go here
}
else if ([[timersArray objectAtIndex:row] isEqual:@"15 seconds"])
{
timerIndication.text = @"15 seconds selected";
timersPickerView.hidden = YES;
// Animation code to dismiss picker should go here
}
else if ([[timersArray objectAtIndex:row] isEqual:@"30 seconds"])
{
timerIndication.text = @"30 seconds selected";
timersPickerView.hidden = YES;
// Animation code to dismiss picker should go here
}
else if ([[timersArray objectAtIndex:row] isEqual:@"60 seconds"])
{
timerIndication.text = @"60 seconds selected";
timersPickerView.hidden = YES;
// Animation code to dismiss picker should go here
}
}
#pragma mark - Delay method
// This is where Send button should be enabled
- (IBAction)selectTimer
{
timersPickerView.hidden = NO;
// Animation code to present picker view should go here
}
【问题讨论】:
标签: iphone xcode uipickerview