Animation 设置UIView frame.origin的动画
我在网上看到了一些关于简单UIView滑入或滑出的示例代码。让UIView以屏幕外的坐标(负数)开始,然后动画参数简单地更改UIView的帧是有意义的。所以第一个问题是:这是否提供了最明显的方法 但是,在我的代码中,帧原点是不可赋值的。我得到了这行的Xcode错误,它也说明了这一点 我只是想在动画中做一些类似的事情:Animation 设置UIView frame.origin的动画,animation,uiview,Animation,Uiview,我在网上看到了一些关于简单UIView滑入或滑出的示例代码。让UIView以屏幕外的坐标(负数)开始,然后动画参数简单地更改UIView的帧是有意义的。所以第一个问题是:这是否提供了最明显的方法 但是,在我的代码中,帧原点是不可赋值的。我得到了这行的Xcode错误,它也说明了这一点 我只是想在动画中做一些类似的事情: self.viewPop.frame.origin.y=100; 感谢您的帮助 更新 我已经解决了这个问题。我发现的技术是将视图的帧指定给另一个CGRect,并对该CGRect
self.viewPop.frame.origin.y=100;
感谢您的帮助
更新
我已经解决了这个问题。我发现的技术是将视图的帧指定给另一个CGRect,并对该CGRect进行更改,然后将其重新指定给帧:
CGRect frame = self.moveView.frame;
frame.origin.x = newvalue.
[UIView animateWithDuration:2.0 animations:^{
self.moveView.frame = frame;
}];
CGRect frame = self.moveView.frame;
frame.origin.x = newvalue.
[UIView animateWithDuration:2.0 animations:^{
self.moveView.frame = frame;
}];
我已经解决了这个问题。我发现的技术是将视图的帧指定给另一个CGRect,并对该CGRect进行更改,然后将其重新指定给帧:
CGRect frame = self.moveView.frame;
frame.origin.x = newvalue.
[UIView animateWithDuration:2.0 animations:^{
self.moveView.frame = frame;
}];
CGRect frame = self.moveView.frame;
frame.origin.x = newvalue.
[UIView animateWithDuration:2.0 animations:^{
self.moveView.frame = frame;
}];
FWIW,对于这种类型的东西,有一个UIView类别很好:
@interface UIView (JCUtilities)
@property (nonatomic, assign) CGFloat frameX;
-(CGFloat)frameX;
-(void)setFrameX:(CGFloat)newX;
@end
@implementation UIView (JCUtilities)
- (CGFloat)frameX {
return self.frame.origin.x;
}
- (void)setFrameX:(CGFloat)newX {
self.frame = CGRectMake(newX, self.frame.origin.y,
self.frame.size.width, self.frame.size.height);
}
将你的答案转化为答案,然后将其标记为正确答案。