iOS UIView 3D旋转和子视图

时间:2014-05-30 10:18:34

标签: ios objective-c uiview catransform3d

我很容易使用CATransform3DMakeRotation旋转我的UIView,但是在旋转后添加SubView时会出现问题。它将它添加为旋转..

这是我在轮换之前的观点

enter image description here

这就是我如何旋转UIView

    aCustomView.layer.transform = CATransform3DMakeRotation(M_PI,0.0,1.0,0.0);

之后,通过此

在其上添加自定义徽章
    JSCustomBadge *onlineUsersCountBadge = [JSCustomBadge customBadgeWithString:@"1"];

    CGSize size = onlineUsersCountBadge.frame.size;
    onlineUsersCountBadge.frame = CGRectMake(imageViewRect.origin.x+20, imageViewRect.size.height*0.3, size.width, size.height);
    [aCustomView addSubview:onlineUsersCountBadge];

这是我在轮换后的观点并添加了Subview

enter image description here

1 个答案:

答案 0 :(得分:2)

如果我理解得很好,你希望视图旋转,但徽章保持正常。

在我看来,解决这个问题的最佳方法是创建一个不可见的子视图,其中包含要旋转的所有元素(UIViews)(例如背景图像)。然后,您不应将旋转应用于完整视图,而应仅应用于该子视图。这样做,如果要添加不应旋转的元素(例如徽章),则将其添加到主旋转视图而不是旋转子视图。

希望它有所帮助!