如何将故事板中的多个按钮连接到单个操作?

jab*_*jab 19 objective-c interface-builder uibutton uiview ios

我目前正在使用Xcode 4.6,我只是想知道如何在不同的UIViews中选择多个按钮,但是在一个视图控制器下.CMD点击似乎不起作用.我需要这个功能,因为在Xcode 4.6中,让IB上的两个按钮共享相同动作的唯一方法是一次选择它们,然后将动作拖动到视图控制器.

我的最终目标是在两个不同的UIViews上获得两个不同的按钮,以匹配使用Xcode 4.6中的故事板的相同动作.有没有办法做到这一点?

编辑:我目前正在使用Xcode 4.6.1而没有任何运气,升级到4.6.2.

rob*_*off 76

您可以将多个按钮连接到单个操作,而无需一次选择所有按钮.

但是,在创建操作之后,您需要保存包含操作的源文件,然后Xcode才会允许您将另一个控件连接到该操作.

我用Xcode 4.6.2做了这个:

将按钮连接到动作


San*_*San 9

Swift 3.0 Xcode 8.0+

将所有按钮连接到下面的方法签名.确保参数sender类型为UIButton(或UIButton的子类),以便从storyboard连接其余按钮.

@IBAction func dialconfigTapped(_ sender: UIButton) {}
Run Code Online (Sandbox Code Playgroud)

使用sender.tag标识点按的按钮.


Tun*_*her 8

按照以下步骤操作

1.在View Controller中创建IBAction

在.h文件中

-(IBAction)action:(id)sender;
Run Code Online (Sandbox Code Playgroud)

在.m文件中

-(IBAction)action:(id)sender{


}
Run Code Online (Sandbox Code Playgroud)

2.将所有按钮连接到此操作

在此输入图像描述

3.按照下一张图片为每个按钮添加标签 在此输入图像描述

4.现在你的动作函数里面放了这些

    -(IBAction)action:(id)sender{

        UIButton *button=(UIButton*)sender;

        if(button.tag==1){

            //your stuff!
        }
        if(button.tag==2){

            //your stuff!
        }
        if(button.tag==3){

            //your stuff!
        }

    }
Run Code Online (Sandbox Code Playgroud)

跑步和去.