我有以下代码:
IBOutlet UIImageView *img_Logo;
...
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
CALayer *ca_Logo = img_Logo.layer;
ca_Logo.position = CGPointMake(400, 400);
ca_Logo.duration = 2.0f;
[ca_Logo setNeedsDisplay];
}
触发触摸事件时, Logo 会消失,但是当我删除
ca_Logo.duration = 2.0f
, 那 ca_Logo
会移动,但它不是动画,只是瞬间消失并出现在新位置。有什么问题吗?
img_Logo
是 UIImageView
与 IBOutlet
或者我需要在没有界面生成器的情况下对其进行编程?我想从
CGPointMake(400, 400)
移动图像至CGPointMake(200, 400)
最佳答案
我认为您需要在不使用界面生成器的情况下对其进行编程尝试此代码
UIImage *image = [UIImage imageNamed:@"img_Logo.png"];
CALayer *img = [CALayer layer];
img.contents = (id)image.CGImage;
img.bounds = CGRectMake(0, 0, 100, 200);
img.position = CGPointMake(400, 400);
[self.view.layer addSublayer:img];
关于ios - 带有 UIImageView 的 CALayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19580196/