iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 如何在按下按钮后显示UIPickerView动画?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我想按下按钮后动画我的UIPickerView.我已经将我的UIPickerView编码为隐藏在viewDidLoad上,而不是在按下按钮后隐藏,但它没有像默认情况下ModalViewController动画的动画.我只是希望我的UIPickerView动画就像ModalViewController默认动画一样. 我已经在网站和网络上进行过研究,但我似乎无法正确地进行研究. 这是我的代码: #pr
我想按下按钮后动画我的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
}

解决方法

按下按钮后,您可以使用以下代码为选取器视图设置动画:

-(IBACtion)button:(id)sender
{

   [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.6];
    CGAffineTransform transfrom = CGAffineTransformMakeTranslation(0,200);
    PickerView.transform = transfrom;
    PickerView.alpha = PickerView.alpha * (-1) + 1;
    [UIView commitAnimations];

}

不要忘记将以下代码添加到viewDidLoad方法

PickerView.alpha = 0;    
[self.view addSubview:PickerView];

它的作用是让选择器视图在第一次点击时从屏幕顶部掉落并使选择器视图消失,您只需再次单击该按钮.从下一次单击时,选择器视图就会出现并消失.希望它帮助和工作:)

大佬总结

以上是大佬教程为你收集整理的iphone – 如何在按下按钮后显示UIPickerView动画?全部内容,希望文章能够帮你解决iphone – 如何在按下按钮后显示UIPickerView动画?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。