2016-02-23 95 views
0

我有一個UIImageView,使用對齊中心X和居中Y約束來放置在屏幕中央。我希望圖像隨着動畫移動到屏幕頂部,保持容器中的水平對齊並且當我按下按鈕時從頂部具有20的空間。以編程方式移除Align Center Y約束,並添加頂部空間約束是一個很好的方法嗎?帶有約束的UIImageView的Ios動畫

+0

試試這個http://stackoverflow.com/a/12664093 – deadbeef

回答

0

動態計算UIScreen類和視圖高度的常量。

@interface ViewController : UIViewController 

@property (nonatomic, weak) IBOutlet NSLayoutConstraint *centerYConstraint; 
@property (nonatomic, weak) IBOutlet UIView *myView; 

- (IBAction)moveView:(id)sender; 

@end 


- (IBAction)moveView:(id)sender 
{ 
    self.centerYConstraint.constant = 20.0 + (self.myView.frame.size.height * 0.5) - ([UIScreen mainScreen].bounds.size.height * 0.5); 
    [UIView animateWithDuration:1.0 animations:^{ 
     [self.view layoutIfNeeded]; 
    }]; 
} 

你可以在這裏下載代碼(http://cl.ly/3l1B0k1L0h1C

+0

它的工作原理就像一個魅力!非常感謝你! – user3734693