【问题标题】:Button to the same view ios按钮到相同的视图 ios
【发布时间】:2015-08-22 12:24:31
【问题描述】:

我是 iPhone 编程新手。

我有一个使用 Storyboard 制作的应用,它有多个视图。在这两个视图中是相同的,在我的应用程序底部都有 5 个静态按钮。我想对所有按钮进行编码,以便在单击时转到相同的视图。最好的方法是什么?

我一直在为一个按钮创建一个类,并且我正在尝试编写代码以在单击后转到视图。我在下面只找到了这段代码,但在这种情况下,我必须对按钮所在的所有视图进行 segue

- (IBAction)buttonPressed:(UIButton *)sender 
{
   [self performSegueWithIdentifier:@"MySegueIdentifier" sender:sender];  
}

【问题讨论】:

    标签: ios objective-c button view


    【解决方案1】:
    @property (nonatomic, weak) IBOutlet UIButton *buttonA;
    @property (nonatomic, weak) IBOutlet UIButton *buttonB;
    
    - (void)viewDidLoad {
      [super viewDidLoad];
    
      [self.buttonA addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
      [self.buttonB addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
    }
    

    【讨论】:

      【解决方案2】:

      如果您希望在视图中具有通用行为,您可能需要实现父 UIViewController,您将在其中放置您的 IBAction

      - (IBAction)buttonPressed:(UIButton *)sender {
           UIButton *b = (UIButton *)sender;
           UIStoryboard *sb = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
      
           UIViewController *nextViewController = nil;
           switch (b.tag){
               case 0:
                   nextViewController = [sb instantiateViewControllerWithIdentifier:@"viewController0"];
                   break;         
               // load the appropriate viewController according to button tag
               default:
                   break;
            }
      
            if (nextViewController){
                 [self.navigationController performSegueWithIdentifier:@"MySegueIdentifier" sender:sender];  
            }         
      }
      

      我建议您查看UITabBarController,这可能是您需要的控制器。

      【讨论】:

        【解决方案3】:

        我认为你想要的一切都只是UITabViewController

        如果你想一直在底部固定 5 个按钮,UITabViewController 可以满足你的要求。

        如果你只想为每个按钮添加相同的事件,你可以参考这张图片:

        你可以只连接事件和目标代码。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-11-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-01-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多