use*_*134 25 iphone animation objective-c cgpoint ios
我试图找到一个在屏幕上动画的iPhone ImageView的当前位置.
我像这样创建和动画imageView
-(IBAction)button:(UIButton *)sender{
UIImageView *myImageView =[[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"ball.png"]];
myImageView.frame = CGRectMake(0, self.view.frame.size.height/2, 40, 40);
[self.view addSubview:myImageView];
[myArray addObject:myImageView];
[UIView animateWithDuration:.5
delay:0
options:(UIViewAnimationOptionAllowUserInteraction) // | something here?)
animations:^{
myImageView.frame = CGRectOffset(myImageView.frame, 500, 0);
}
completion:^(BOOL finished){
[myArray removeObject:myImageView];
[myImageView removeFromSuperview];
[myImageView release];
}
];
}
Run Code Online (Sandbox Code Playgroud)
然后检测imageView的当前CGPoint我每隔60秒调用一次这个方法
-(void)findPoint{
for (UIImageView *projectile in bullets) {
label.text = [NSString stringWithFormat:@"%f", projectile.center.x];
label2.text = [NSString stringWithFormat:@"%f", projectile.center.y];
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这只给了我动画结束的点,我想获得在屏幕上动画的图像的当前CGPoint.除了UIViewAnimationOptionAllowUserInteraction之外,还有一个我需要应用的选项吗?如果没有,我如何获得动画imageView的当前位置?
ada*_*ton 50
您可以使用presentationLayer - CALayer的一个属性"提供与当前显示的图层版本非常接近".只需像这样使用它:
CGRect projectileFrame = [[projectile.layer presentationLayer] frame];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10203 次 |
| 最近记录: |