旋转UI按钮,同时旋转它们所在的父视图

时间:2013-02-10 02:38:40

标签: ios xcode

我有一个UIView,我在方向改变时手动旋转,这个UIView托管了许多按钮,我想根据方向的变化旋转它们。

我这样做:

  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正确旋转,但其他按钮没有! 我是否需要在另一个电话中执行轮换?因为我不能在同一个区块中旋转按钮及其父视图?

由于

1 个答案:

答案 0 :(得分:0)

旋转parentView应该足够了。确保先指定self.parentView.transform。尝试使用CGAffineTransformMakeRotation()直接分配正确的变换,并且不要依赖transform属性的当前状态(例如使用CGAffineTransformConcat())。不要忘记确保子视图确实是parentView的子视图 - [self.parentView addSubview:...]应该出现在某个地方。如果您使用IB来设置子视图,这可能会很棘手;检查IB的视图层次结构树!