Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将UIButton带到前一层_Ios_Objective C_Uibutton - Fatal编程技术网

Ios 将UIButton带到前一层

Ios 将UIButton带到前一层,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我知道有一种方法可以将子视图放到层次结构的前面。然而,有没有一种方法可以把我放在故事板上的一个按钮,调用一个函数,使该按钮成为顶层,这样它就不会被添加到故事板之外的任何其他元素所隐藏 谢谢,UIButton是UIView,因此您可以在按钮实例上调用-bringsubview tofront:。UIView按堆叠顺序显示。您可以将此更改为插入新的uiview,在您的示例中,它是一个ui按钮 一种方法是创建uibutton的IBOUtlet,并将该按钮实例作为子视图/newview添加到现有uivi

我知道有一种方法可以将子视图放到层次结构的前面。然而,有没有一种方法可以把我放在故事板上的一个按钮,调用一个函数,使该按钮成为顶层,这样它就不会被添加到故事板之外的任何其他元素所隐藏


谢谢,

UIButton是UIView,因此您可以在按钮实例上调用
-bringsubview tofront:

UIView
按堆叠顺序显示。您可以将此更改为插入新的
uiview
,在您的示例中,它是一个ui按钮

一种方法是创建
uibutton
IBOUtlet
,并将该按钮实例作为子视图/newview添加到现有
uiview
之上

代码:

[self.view insertSubview:overself子视图:]

此外,如果您无法确定
uiview
的顺序,则可以在
xcode

  • 在调试窗口下以调试模式运行项目时,有一个按钮(在下图中突出显示)调试视图层次结构,您需要单击该按钮。(下图中突出显示)

  • 之后,您将能够在当前实例的屏幕上看到所有的
    视图
    渲染,使用此功能,您将能够了解在
    ui视图堆栈顺序中新的
    ui视图
    (如下所示)

Swift 如果正在使用的视图是同一视图中的隐藏视图,则以下操作非常有效

superview?.bringSubviewToFront(self)

我回答这个问题已经晚了,但用Swift 3回答还不算晚

斯威夫特3
Swift 5

在我的例子中,我不得不在一些按钮后面插入我的视图。通过将其插入零位,将其放置在按钮后面

        self.view.insertSubview(self.mapView!, at: 0)  

我和你有同样的问题,我的一个朋友帮了我

我可以在您声明按钮的视图控制器上使用此函数将我的按钮带到另一个子视图

    override func viewDidLoad() {
        super.viewDidLoad()
        UIApplication.shared.keyWindow?.addSubview(chatButton)
    }

一个按钮也是一个子视图。请看,我在视图控制器中添加了一个名为sideBar的视图,但该视图控制器是tabBar控制器选项卡之一。我想将sideBar移动到tabBar控制器的前面,但我不能这样做。这是我的问题链接,请帮助我解决问题。我建议您检查选项卡的堆叠顺序uiView的,然后根据需要移动订购,您可以参考此,很难解释您可以聊天吗?我将解释,使用照片和更多代码,我无法在stackexchange聊天中找到您,请继续邀请我,我们可以在那里聊天,即使使用故事板,也会为您可能创建的工作流生成一个代码,只需一步一步地浏览代码,找出您是否需要修改代码以将相应的视图显示在前面。您可以参考“debugViewHierarchy”了解堆栈顺序并相应地更新代码
    override func viewDidLoad() {
        super.viewDidLoad()
        UIApplication.shared.keyWindow?.addSubview(chatButton)
    }