2012-11-11 64 views
6

如何爲UIImageView更改簡單的位置。可以說當前座標是x:20和y:30我想將它移動到x:100和y:100。更改UIImageView的位置

是否可以做動畫動畫?

回答

30

您需要更改UIImageView的CGFrame像這樣 -

[imageView setFrame:CGRectMake(100, 100, imageView.frame.size.width, imageView.frame.size.height)];

這改變了uiimageview poistion到(100, 100)同時保持高度和寬度相同。請注意,您可以使用上述代碼不僅更改(x,y)的位置,還更改視圖的大小。使用下面的代碼,你可以製作動畫太:)

如果你想動畫的位置變化 -

[UIView animateWithDuration:0.35 
         delay:0.0 
        options: UIViewAnimationCurveEaseOut 
       animations:^{ 
        [imageView setFrame:CGRectMake(100, 100, imageView.frame.size.width, imageView.frame.size.height)]; 
       } 
       completion:^(BOOL finished){ 
        NSLog(@"Done!"); 
       }]; 
+0

當我嘗試你的代碼(動畫版),我得到這個錯誤 發送'int'用於CGFrameMake行的不兼容類型'CGRect'(又名'struct CGRect')的參數。你知道也許是爲什麼? – bla0009

+0

對不起'CGRectMake'而不是'CGFrameMake'。錯字!更新了上面的代碼...再試一次。 –

+0

這是完美的。你只會缺少一個支架。我現在將其添加...投票完美答案! – bla0009

0
self.psView.frame = CGRectMake(self.wvView.frame.origin.x, self.wvView.frame.origin.y, self.psView.frame.size.width, self.psView.frame.size.height); 
+3

歡迎來到Stack Overflow!儘管這段代碼可以解決這個問題,但[包括一個解釋](// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要使用解釋性註釋來擠佔代碼,因爲這會降低代碼和解釋的可讀性! – FrankerZ