我有一个标签栏控制器,带有3个视图控制器,其中一个VC包含一个动画按钮,但略微重叠标签栏。
我很好地制作了动画,但很明显按钮位于堆叠顺序中的标签栏下方。
让它坐在标签栏上方的最佳方法是什么?我尝试将其添加为Tab Bar Controller的子视图,如下所示:
initialRecordButtonX = recordButton.frame.origin.x
self.tabBarController?.view.addSubview(recordButton)
recordButton.frame.origin.x = initialRecordButtonX
但这似乎给我一个对齐问题,按钮不在原始按钮位置,而是在屏幕的左上角。
更新:
var tabView : (UIView) = self.tabBarController!.view
var btnPoint : CGPoint = recordButton.center;
var btnRect : CGPoint = recordButton.convertPoint(btnPoint, toView: tabView)
self.tabBarController?.view.addSubview(recordButton)
recordButton.frame.origin = btnRect
答案 0 :(得分:0)
您可能需要将recordButton.frame转换为tabBarController.view的坐标系。
您可以使用:
答案 1 :(得分:0)
我最终使用了一个容器,按钮位于父视图控制器中,这解决了我的问题。
答案 2 :(得分:0)
您是否尝试将.zPosition用于zAxis?
因此您可以使用任何数字。您可以使用.zPosition = 1或.zPosition = 9876.26。唯一重要的是使数字不同。如果数字较小,则元素低于/低于其他元素。如果数字较大,它就在最顶层。
希望有所帮助:)
答案 3 :(得分:0)
您可以尝试:self.tabBar.viewWithTag(0)?.addSubview(recordButton)