背景:我想動畫我的內容隨着方向的變化。我的內容位置是相對於self.view.bounds
。iOS:取向取得未來self.view.bounds
問題:爲了使內容和邊界一起動畫,我需要知道視圖的邊界到底是什麼。我可以硬編碼,但我希望找到一個更有活力的方式。
代碼:因此,所有的動畫發生在willRotateToInterfaceOrientation
按如下:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
//centering the image
imageView.frame = CGRectMake(self.view.bounds.origin.x + (self.view.bounds.size.width - image.size.width)/2 , self.view.bounds.origin.y + (self.view.bounds.size.height - image.size.height)/2, image.size.width, image.size.height);
NSLog(@"%d",[[UIDevice currentDevice] orientation]);
NSLog(@"%f", self.view.bounds.origin.x);
NSLog(@"%f", self.view.bounds.origin.y);
NSLog(@"%f", self.view.bounds.size.width);
NSLog(@"%f", self.view.bounds.size.height);
}
的邊界是方向變化之前。因此,這隻適用於轉換180度的情況。如果我要使用didRotateFromInterfaceOrientation
,動畫將後的方向變化看起來很糟糕。
不知道存在:)謝謝。 – Byte
啊......一直在尋找這個很長一段時間。謝謝! –