Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 如何从选项卡栏控制器中嵌入的UI按钮推送ViewController_Ios_Swift_Uinavigationcontroller_Uibutton_Uitabbarcontroller - Fatal编程技术网

Ios 如何从选项卡栏控制器中嵌入的UI按钮推送ViewController

Ios 如何从选项卡栏控制器中嵌入的UI按钮推送ViewController,ios,swift,uinavigationcontroller,uibutton,uitabbarcontroller,Ios,Swift,Uinavigationcontroller,Uibutton,Uitabbarcontroller,我想在我的标签栏旁边浮动一个按钮。按下此按钮时,将打开一个可导航的视图(因此导航控制器中嵌入了视图控制器(?) 内置阿巴斯控制器{ ViewDidLoad(){ super.viewDidLoad() //我在这里按程序设置了5个选项卡栏项。 //中间的选项卡栏项被禁用,因为按钮位于其顶部 setupMiddleButton() } 我的设置按钮功能 let menuButton=ui按钮(帧:CGRect(x:0,y:0,宽度:52,高度:52)) //..各种样式和对齐值。。。 view.

我想在我的标签栏旁边浮动一个按钮。按下此按钮时,将打开一个可导航的视图(因此导航控制器中嵌入了视图控制器(?)

内置阿巴斯控制器{

ViewDidLoad(){
super.viewDidLoad()
//我在这里按程序设置了5个选项卡栏项。
//中间的选项卡栏项被禁用,因为按钮位于其顶部
setupMiddleButton()
}
我的设置按钮功能

let menuButton=ui按钮(帧:CGRect(x:0,y:0,宽度:52,高度:52))
//..各种样式和对齐值。。。
view.addSubview(菜单按钮)
menuButton.addTarget(self,action:#选择器(menuButtonAction(sender:)),for:.touchUpInside)
最后,我尝试添加代码来按下视图控制器,但是当点击按钮时,我收到了nil

@objc private func菜单按钮操作(发送方:UIButton){
让createController=CreateViewController()
让nav3=UINavigationController(rootViewController:createController)
nav3.navigationController!.pushViewController(createController,动画:true)

我认为您可能将错误的参数传递给了
菜单按钮操作
函数,请尝试如下更改代码:

func setupMiddleButton() {
    let menuButton = UIButton(frame: CGRect(x: 0, y: 0, width: 52, height: 52))
    //..various styling and alignment values...
    view.addSubview(menuButton)
    menuButton.addTarget(self, action: #selector(menuButtonAction(_:)), for: .touchUpInside)
}

...

@objc private func menuButtonAction(_ sender: UIButton) {
    ...
}

所以我想出来了。结果比我想象的要简单得多,这让我觉得我在这个问题上解释得很糟糕。不管怎样,这是对我有用的代码

让myViewController=ViewController()
让nav=UINavigationController(rootViewController:myViewController)
自我呈现(导航,动画:真,完成:无)
您所说的“我点击按钮时收到零”是什么意思?