我需要设置的UIView的位置。 下面的代码显示了如何做到这一点。 但是,这是行不通的。 我该怎么做呢?
- (void)viewDidLoad
{
[super viewDidLoad];
CGRect frame = myview.frame;
frame.origin.x = myview.frame.origin.x;
frame.origin.y = 0;
myview.frame = frame;
NSLog(@"%d", frame.origin.y );
}
UIView的公司有一个中心property..if要改变位置,然后只需要使用......而是要调整整个视图
myview.center = CGPointMake(50, 250);
希望它可以帮助你。
尝试做这在viewDidAppear方法,它为我工作。
移动视图/动画改变视位置
如果你想改变视图的位置,只要你想就用下面的代码行:
.h文件中:
- (void)moveView:(UIView *)view withDuration:(NSTimeInterval)duration
andCurve:(int)curve inDirection_X:(CGFloat)x inDirection_Y:(CGFloat)y;
.m文件:
- (void)moveView:(UIView *)view withDuration:(NSTimeInterval)duration
andCurve:(int)curve inDirection_X:(CGFloat)x inDirection_Y:(CGFloat)y
{
// Setup the animation
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:YES];
// The transform matrix
CGAffineTransform transform = CGAffineTransformMakeTranslation(x, y);
view.transform = transform;
// Commit the changes
[UIView commitAnimations];
}
注意:要调用上面的方法在任何地方只是做喜欢它,根据您的要求,即如何将视图/动画改变视图位置
[self moveView:mFrontSideView withDuration:2.0 andCurve:0 inDirection_X: 0.0 inDirection_Y: mBackSideView.center.y + 100.0];