按钮到相同的视图 ios

Posted

技术标签:

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

我是 iPhone 编程新手。

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

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

- (IBAction)buttonPressed:(UIButton *)sender 

   [self performSegueWithIdentifier:@"MySegueIdentifier" sender:sender];  

【问题讨论】:

【参考方案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 可以满足你的要求。

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

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

【讨论】:

以上是关于按钮到相同的视图 ios的主要内容,如果未能解决你的问题,请参考以下文章

当在相同的 ViewController 下触摸具有相同父视图的两个视图时,iOS 无法获取新的 touchEvent

ViewController 总是加载相同的链接

如何使用 swift 将相同的背景图像添加到我的 ios 应用程序中的所有视图?

Django:如何将相同的功能扩展到多个视图?

在 iOS 6 中使用 Auto Layout 在 superview 中均匀分布相同大小的 UIView

多按钮的相同子视图,多视图