使用按钮切换视图

Posted

技术标签:

【中文标题】使用按钮切换视图【英文标题】:Using buttons to switch views 【发布时间】:2011-03-28 11:49:41 【问题描述】:

我有一个带有四个按钮的主视图,每次单击一个按钮时都会添加一个子视图。但是当我单击按钮时,子视图出现时,我无法按下任何其他按钮。有没有人有什么建议?这是单击按钮时的代码:

newView = [[UIView alloc] initWithFrame:CGRectMake(25,25,50,20)];
[newView addSubview: testArena.view];
[newView setFrame:CGRectMake( 0.0f, 480.0f, 320.0f, 480.0f)]; 
[UIView beginAnimations:@"animateArenaView" context:nil];
[UIView setAnimationDuration:0.4];
[newView setFrame:CGRectMake( 0.0f, 20.0f, 320.0f, 460.0f)];
[UIView commitAnimations];
[newView setUserInteractionEnabled:YES];
[self.view addSubview: newView];

newView 是 UIView,而 testArena.view 是我要从中获取视图的类。

【问题讨论】:

【参考方案1】:

听起来 newView 可能隐藏/阻止按钮被按下?试试把它放在后面,这样它就不能盖住按钮了:

[self.view sendSubviewToBack:newView];

【讨论】:

是的,我也是这么想的,newView 以某种方式覆盖了按钮。我试着把 [self.view sendSubviewToBack:newView];在 loadView 和我的操作方法中。还是不行。【参考方案2】:

当您单击其中的一个按钮时,您可以禁用所有其他按钮..

如果(按钮1) button2 用户交互启用 = 否; button3 用户交互启用 = 否; button4 用户交互启用 = 否; 如果(按钮2) button1 用户交互启用 = 否; button3 用户交互启用 = 否; button4 用户交互启用 = 否; ... ..

【讨论】:

以上是关于使用按钮切换视图的主要内容,如果未能解决你的问题,请参考以下文章

使用 EnvironmentObject(按钮和导航视图)切换视图不起作用

使用轮播按钮切换视图的示例?

使用工具栏及其按钮在不同的“子”视图控制器之间切换

如何实现一个按钮在另一个视图中切换

如何在没有情节提要的情况下使用按钮切换视图?

使用单个按钮 Xcode 或 swift 切换视图控制器的背景颜色