我在网上看到了一些关于简单的UIView滑入或滑出的示例代码。让UIView以其坐标离开屏幕(负面)开始是有意义的,然后动画参数只是改变UIView的框架。所以第一个问题是:这是否提供了最明显的方法?
但是,在我的代码中,帧原点不可分配。我得到了该行的Xcode错误。
我只是想在动画中做这样的事情:
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;
}];
答案 0 :(得分:12)
更新:我已经解决了这个问题。我发现的技术是将视图的框架分配给另一个CGRect,并对该CGRect进行更改,然后将其分配回框架:
CGRect frame=self.moveView.frame;
frame.origin.x=newvalue.
[UIView animateWithDuration:2.0 animations:^{
self.moveView.frame=frame;
}];
答案 1 :(得分:1)
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);
}