按钮到相同的视图 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
如何使用 swift 将相同的背景图像添加到我的 ios 应用程序中的所有视图?