我需要设置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 );
}
答案 0 :(得分:1)
UIView有一个中心属性..如果你想改变位置,那就用它......而不是调整整个视图
myview.center = CGPointMake(50, 250);
希望它对你有所帮助。
答案 1 :(得分:0)
确保您的OUTLET已连接到nib文件中的视图。
答案 2 :(得分:0)
尝试在viewDidAppear方法中执行此操作,它适用于我。
答案 3 :(得分:0)
移动视图/使用动画更改视图位置
如果您想根据需要更改View的位置,请使用以下代码行:
.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];