在标签栏上方移动按钮(重叠)iOS

时间:2015-03-17 10:06:38

标签: ios swift

我有一个标签栏控制器,带有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

4 个答案:

答案 0 :(得分:0)

您可能需要将recordButton.frame转换为tabBarController.view的坐标系。

您可以使用:

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIView_Class/#//apple_ref/occ/instm/UIView/convertPoint:toView

答案 1 :(得分:0)

我最终使用了一个容器,按钮位于父视图控制器中,这解决了我的问题。

答案 2 :(得分:0)

您是否尝试将.zPosition用于zAxis?

因此您可以使用任何数字。您可以使用.zPosition = 1或.zPosition = 9876.26。唯一重要的是使数字不同。如果数字较小,则元素低于/低于其他元素。如果数字较大,它就在最顶层。

希望有所帮助:)

答案 3 :(得分:0)

您可以尝试:self.tabBar.viewWithTag(0)?.addSubview(recordButton)