2013-06-20 269 views
0

是否可以在CGRect屏幕外創建UIImageView?關閉屏幕CGRect

然後,我會在用戶按下UIButton之後將它動畫到屏幕上。

我知道這個函數CGRectMake(x,y,height, width)但顯然x和y不能有負值。

任何人都可以幫助我嗎?

+8

x和y的負值是允許的,應該工作正常。爲了得到更好的幫助,請解釋一下:#1你做了什麼(包括確切代碼),#2你預期會發生什麼,#3實際發生了什麼。 –

+3

好奇 - 是什麼讓你相信x和y的值不能爲負? – rmaddy

+0

糟糕,我沒有考慮到矩形的寬度,只是從未設置較大的negetave x座標,感謝您的幫助。我如何關閉這個問題? – bf613

回答

0

是的,這是可能的。有幾件事你可以做。根據您希望從中設置動畫的位置,將imageview的x和y設置爲負數或大於<parentView>.bounds.size.width或高度等。然後,您可以使用UIView對動畫進行動畫處理。

所以在viewDidAppear或任何方法觸發動畫您可以使用From apple docs

+ (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion

來處理所有的動畫。這裏是一個example

[UIView animateWithDuration:<timeInSecondsOfHowLongItShouldTake> 
      animations:^ 
      { 
        imageView.frame = <CGRectFrameOfPlaceThatYouWantItToGo> 
        //you could also make it fade in with imageView.alpha = 1; 
        //assuming you started out with an alpha < 1 
      } 
      completion:^(BOOL finished) 
      { 
        //do something after it finishes moving 
        //the imageview into place 
      } 
];