gpt4 book ai didi

ios - 如何在 ios 中有效地一次隐藏多个 View

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:06:01 26 4
gpt4 key购买 nike

在我当前的项目中,我需要在单个 View Controller 中维护多个容器 Controller 。 View Controller 上有四个按钮。如果选择第一个按钮,第一个容器将可见,其余容器将处于隐藏状态。与第二个、第三个和第四个按钮类似。在任何时候,用户只能看到一个。我可以通过显示相应的容器并通过硬编码隐藏其余部分来实现它。

@property UIView *view1;
@property UIView *view2;
@property UIView *view3;
@property UIView *view4;

- (iBAction *)firstButtonClicked:(UIButton *)button {
self.view1.hidden = NO;
self.view2.hidden = YES;
self.view3.hidden = YES;
self.view4.hidden = YES;
}

- (iBAction *)secondButtonClicked:(UIButton *)button {
self.view1.hidden = YES;
self.view2.hidden = NO;
self.view3.hidden = YES;
self.view4.hidden = YES;
}

- (iBAction *)thirdButtonClicked:(UIButton *)button {
self.view1.hidden = YES;
self.view2.hidden = YES;
self.view3.hidden = NO;
self.view4.hidden = YES;
}

- (iBAction *)fourthButtonClicked:(UIButton *)button {
self.view1.hidden = YES;
self.view2.hidden = YES;
self.view3.hidden = YES;
self.view4.hidden = NO;
}

但我对这种做法并不满意。我尝试在堆栈溢出中搜索答案但没有成功。 请告诉我是否有人知道任何有效的方法来实现它。

谢谢。

最佳答案

对此有一些可能的解决方案。这是一个选项。

首先,给每个按钮一个特定的标签。给按钮 1 一个标签 1。给按钮 2 一个标签 2,等等。

然后对所有四个按钮使用单个操作,而不是您现在拥有的四个单独操作。

然后像这样实现一个 Action 方法:

- (IBAction *)buttonClicked:(UIButton *)button {
self.view1.hidden = button.tag != 1;
self.view2.hidden = button.tag != 2;
self.view3.hidden = button.tag != 3;
self.view4.hidden = button.tag != 4;
}

如果点击标签为 1 的按钮,则 button.tag != 1 将为 false,因此 self.view1.hidden 将设置为 。其他 3 个条件将为真,因此其他按钮将 hidden 设置为 YES

同样的逻辑适用于其他三个按钮,每个按钮都有自己的标签值。

关于ios - 如何在 ios 中有效地一次隐藏多个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37315092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com