我有下面這段代碼誰動我的UIView至左:移動一個UIView與起點
- (void)viewDidLoad {
[super viewDidLoad];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:4];
int xOriginal = 91;
CGRect rect = imagem.frame;
int x = rect.origin.x;
int y = rect.origin.y;
int w = rect.size.width;
int h = rect.size.height;
if(x == xOriginal){
imagem.frame = CGRectMake(x+100, y, w, h);
}else{
imagem.frame = CGRectMake(x-100, y, w, h);
}
[UIView commitAnimations];
}
我的我的看法的座標爲x = 91(SuperView把中心),當我開始我的應用我的UIView從左邊開始並轉到中間位置,而不是中間位置,然後轉到右側,爲什麼會發生這種情況?
如何使我的UIView開始在中心(x = 91)和向右(91 + 100),而不是左中心?
你使用autolayout嗎?你把你的動畫放在你的controller -viewDidLoad方法中嗎?您還可能更喜歡使用其中一個'+ [UIView animateWith ...]函數 – Crazyrems 2014-12-19 10:56:10
當您創建視圖時,您可能將其初始幀設置爲「錯誤」位置。請在您設置視圖的初始框架的位置顯示代碼。 – AMI289 2014-12-19 10:56:36
我更新我的帖子,這是所有的代碼在我的應用程序(我的應用程序在這種情況下非常簡單..)我把我的代碼裏面viewdidload方法和我的看法是使用自動佈局。 – user3781174 2014-12-19 10:57:59