繁体   English   中英

iOS中的多个按钮合而为一

[英]Multiple Buttons in iOS as one

我需要将iOS中的多个按钮( UIButton )组合在一起。 如果单击任一按钮,则应使用按钮ID调用单个函数,然后将调用相应的处理程序。

如何在iOS中执行此操作? 我的研究表明, UIView可能是答案。 但是如何在印刷时自动调用相同的功能?

是的,只需将它们都绑定到同一个IBAction上,它就可以正常工作。 因此,在标题中创建-(IBAction)buttonPushed :,然后在IB中将所有按钮连接到同一动作。

-(void)buttonAction:(id)sender {
   UIButton *btn = (UIButton*)sender; //We know sender will be a UIButton
   switch (btn.tag) {
      case 1: { /* do stuff for first button */ break; }
      case 2: { /* do stuff for second button */ break; }
      case 3: { /* do stuff for third button */ break; }
      //Etc.
   }
}

您可以像这样添加多个按钮。

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(10, 40, 50, 50);
    [btn setTitle:@"Send" forState:UIControlStateNormal];
    [btn setTag:1];
    [btn addTarget:self action:@selector(sendBtnPressed:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];

    UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame = CGRectMake(10, 100, 50, 50);
    [btn1 setTitle:@"YES" forState:UIControlStateNormal];
    [btn1 setTag:2];
    [btn1 addTarget:self action:@selector(sendBtnPressed:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn1];

    -(IBAction)sendBtnPressed:(id)sender
    {    
       int tag = [(UIButton *) sender tag];

       if(tag == 1)
       {
       }
       else if (tag == 2)
       {
       }
    }
-(IBAction) buttonClicked: 

在viewcontroll.h文件中创建IBAction,然后将所有按钮与此操作连接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM