标签: uianimation

进入Editmode时的UITableView动画

也许我只是愚蠢但我不明白为什么这不起作用.当我在UITableView中进入编辑模式时,我想实现一点动画.

 [super setEditing:NO animated:YES];   
 [myTable setEditing:NO animated:YES];
 [myTable reloadData];
 [self.navigationItem.leftBarButtonItem setTitle:@"Edit"];
 [self.navigationItem.leftBarButtonItem setStyle:UIBarButtonItemStylePlain];
Run Code Online (Sandbox Code Playgroud)

不应该动画:是的,假设动画这个编辑模式的输入?

问候.
- f0rz

iphone cocoa-touch uitableview uianimation

3
推荐指数
1
解决办法
3270
查看次数

UILabel的backgroundColor是不可动画的?

我有一个gridView,我用来显示几个GridViewCell : UIView.在GidViewCell增加了一个的UILabel本身并附加一个UITapGestureRecognizer自己.

UITapGestureRecognizer *gestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped:)];
[self addGestureRecognizer:gestureRecognizer];
[gestureRecognizer release];
Run Code Online (Sandbox Code Playgroud)

tapped:我想播放一些动画,包括更改标签的背景颜色

- (void) tapped:(id)sender {
    [UIView animateWithDuration:1.0
                          delay:0
                        options:(UIViewAnimationOptionAllowUserInteraction)
                     animations:^{ 
                         [(UILabel *)[[self subviews] objectAtIndex:0] setBackgroundColor:[UIColor blueColor]];
                     }  
                     completion:^(BOOL finished){
                         [(UILabel *)[[self subviews] objectAtIndex:0] setBackgroundColor:[UIColor whiteColor]];
                     }
     ];     
[self.delegate didSelectGridViewCell:self];
}
Run Code Online (Sandbox Code Playgroud)

但是标签只是闪烁蓝色一眨眼 - 如果有的话.如果我使用相同的代码,但调整标签的alpha而不是背景颜色,一切都按预期工作.

Apple的文档将backgroundColor列为动画.是吗?难道我做错了什么?

cocoa-touch objective-c uianimation ios

3
推荐指数
1
解决办法
3310
查看次数

如何在iPhone中创建登录界面(作为UIAlertView)?

如何在UIViewController中创建LoginScreen?点击按钮后它应该看起来像UIAlertView.

iphone uiviewcontroller uialertview uianimation

3
推荐指数
1
解决办法
3097
查看次数

iOS - 停止重复的UIAnimation?

我有一个动画需要重复,直到我决定停止它.

单击按钮后如何停止动画?

[UIView animateWithDuration:0.2 delay:0 options:(UIViewAnimationCurveLinear | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat) animations:^{

        CGAffineTransform transform = CGAffineTransformMakeRotation(DEGREES_TO_RADIANS(5));
        self.transform = transform;

    }  completion:^(BOOL finished){

    }];
Run Code Online (Sandbox Code Playgroud)

uianimation ios

3
推荐指数
1
解决办法
3118
查看次数

获取UIView帧的缩放动画

我试图添加一个UIView与过渡样式缩放动画,如下所示:

     ^
     |
 <---.--->
     |
     v
Run Code Online (Sandbox Code Playgroud)

视图以一个小框架(centerParent.x,centerParent.y,20,20)开始,然后更改为(centerParent.x,centerParent.y,300,300).

但是当我改变框架时,我必须改变它,因为视图的位置(0.0),而不是它的中心点.有谁知道怎么做?

谢谢

iphone uianimation ipad ios

3
推荐指数
1
解决办法
7446
查看次数

UIView重复animateWithDuration CPU 100%

大家好,小问题.

我有一个UIView我创建的课程AnimatedUIView.在init中,我创建了一个像我这样的动画子视图:

   - (void)animateView{
    [UIView animateWithDuration:4.0
                     delay:1.0
                     options: nil
                     animations:^{ 
                         // Animation PART 1
                         } 
                     completion:^(BOOL  completed){
                       [UIView animateWithDuration:4.0
                           animations:^{ 
                               // Animation PART 2
                               } 
                           completion:^(BOOL  completed){
                             [self animateView];
                           }
                         ];
                     }
     ]; 

}
Run Code Online (Sandbox Code Playgroud)

我必须[self animateView]在第二个完成块中调用自己而不是使用选项重复,因为我想仅延迟1秒的第一个动画.

一切正常,我分配并初始化我的视图并将其添加为子视图,它应该是动画的.

但是,当我关闭我的超级视图时,我猜ARC会完成它的工作并取消激活动画视图,但我的CPU达到了100%!我已经调查过,如果我对这个电话发表评论[self animateView],当我关闭超级视图时,我的CPU并没有飙升.

所以我设法解决了这个问题(通过在调用之前设置一个条件并在关闭superview之前更改一个布尔值keepAnimating = NO),我只想了解为什么会这样做?为什么它会尝试保持动画效果,为什么它会使用如此多的CPU?如果我在完成块中放置一个NSLog,我首先每隔8秒看一次,但是当我关闭超级视图时,NSLog只会每隔一段时间出现...

顺便说一句:它与这个问题有关:UIView动画使用90%的CPU,但没有得到真正的回答.非常感谢!

iphone cpu uiview uianimation ios

2
推荐指数
1
解决办法
1462
查看次数

UIPageViewController:Viewcontrollers之间的淡入/淡出动画?

我按照http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/上的教程来实现UIPageViewController.当用户在它们之间滚动时,我需要在视图控制器之间进行转换以淡入/淡出.

这样做的应用程序示例就在这里https://itunes.apple.com/us/app/tapiture/id645402534?mt=8

objective-c uiviewcontroller uianimation ios uipageviewcontroller

2
推荐指数
1
解决办法
6385
查看次数

了解UIAnimation

我试图使用以下代码来执行一些动画

-(void) performSlidingfromX:(int) xx fromY:(int) yy 
{
UIImageView *Image= [self getImage];

[UIView beginAnimations:nil context:NULL];  
[UIView setAnimationDuration: 1.0];
[UIView setAnimationBeginsFromCurrentState:true];
[UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
[token setFrame:CGRectMake(xx, yy, 64, 64)];
[UIView commitAnimations];

}
Run Code Online (Sandbox Code Playgroud)

我在for循环中调用它

for (i = 0; i < totMoves; i++) {
    Moment *m = [moments objectAtIndex:i];
    int xx= [m X];
    int yy= [m Y];

    [self performSlidingfromX:xx fromY:yy];

}
Run Code Online (Sandbox Code Playgroud)

我面临的问题是它的动画到最终位置,例如,如果我为xx输入以下时刻,yy

0,0
50,0
50,50
Run Code Online (Sandbox Code Playgroud)

它将图像从0,0到50,50对角移动,我希望它首先滑动到水平然后垂直滑动.

任何帮助?

谢谢

iphone uianimation

1
推荐指数
1
解决办法
5637
查看次数

每次动画重复时调用一个方法

我需要在动画重复之前调用某个方法.我不知道在哪里放置那行代码.

这是我为对象设置动画的代码:

[UIView animateWithDuration:speed
                      delay:delay
                    options:UIViewAnimationOptionAllowUserInteraction|UIViewAnimationOptionCurveLinear|UIViewAnimationOptionRepeat
                 animations:^(void){

                     cloud.frame = (CGRectMake(cloud.frame.origin.x, cloud.frame.origin.y+600, cloud.frame.size.width, cloud.frame.size.height));

                 }completion:^(BOOL finished){
                     if (finished){
                         [cloud setBackgroundImage:[UIImage imageNamed:@"cloudWhite.png"] forState:UIControlStateNormal];
                     }
                 }];
Run Code Online (Sandbox Code Playgroud)

完成部分中调用的方法不会在每次重复之前执行,而是仅在整个动画完成之后执行,并且在重复之后 - 在这种情况下 - 从不执行.

我的问题是,如何在每个动画重复之前调用一个方法?

objective-c uikit uianimation ios

1
推荐指数
1
解决办法
190
查看次数

弹跳式动画.当您将它应用于同一财产时

如果我想为UITableViewCell制作动画,那么它会从左到右弹跳几次,我该怎么做?我正在尝试:

var bounds = activeCell.Bounds;
var originalLocation = bounds.Location;
var loc = originalLocation;

UIView.Animate(0.2,()=>{
   loc.X = originalLocation.X + 20;
   activeCell.Bounds = new RectangleF (loc, bounds.Size);   
   loc.X = originalLocation.X - 20;
   activeCell.Bounds = new RectangleF (loc, bounds.Size);   
});
Run Code Online (Sandbox Code Playgroud)

它仅激活最后一个状态(即向左移动元素).我试图将它们放在分开的Animate块中 - 它没有帮助.试图使用不同UIAnimationOptions- 相同.

animation uitableview xamarin.ios uianimation ios

0
推荐指数
1
解决办法
6930
查看次数