2013-02-10 53 views
0

我有一個UIView,我在方向變化時手動旋轉,這個UIView承載了一些按鈕,我也想根據方向的變化來旋轉它們。旋轉UIbutton,而他們居住在旋轉​​父視圖

我這樣做:

CGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI/-4); 

    [UIView animateWithDuration:0.25 animations:^ 
    { 

     self.parentView.firstButton.transform = CGAffineTransformConcat(self.parentView.firstButton.transform, rotation); 
     self.parentView.secondButton.transform = CGAffineTransformConcat(self.parentView.secondButton.transform, rotation); 
     self.parentView.thirdButton.transform = CGAffineTransformConcat(self.parentView.thirdButton.transform, rotation); 
     self.parentView.transform = CGAffineTransformConcat(self.parentView.transform, rotation); 
    } 
     completion:^(BOOL finished) 
    { 
    }]; 

parentView不正常旋轉,但其他按鈕沒有! 我是否需要在另一個電話中執行輪換?在我不能旋轉一個按鈕和它的父視圖在同一個塊?

謝謝

回答

0

它應該足以旋轉parentView。確保先分配self.parentView.transform。嘗試直接使用CGAffineTransformMakeRotation()指定適當的變換,並且不要依賴變換屬性的當前狀態(如使用CGAffineTransformConcat())。不要忘記確保子視圖實際上是父視圖的子視圖 - [self.parentView addSubview:...]應該發生在某處。如果您使用IB來設置子視圖,這可能會非常棘手;檢查IB的視圖層次結構樹!