- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试根据用户选择的第一个分段控件中的选择启用/禁用 2 个不同分段控件中的某些分段。
第一段:黑色 |红色 |绿色 |
第二段:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|
第三部分: | 19 | ..... | 36 | 00 |
我想要的功能是,如果用户选择黑色,则只有第二和第三段中的某些数字应该触发。enabled = YES
由于第二和第三段需要第一段的初始输入,所以我在 -ViewDidLoad 中完全禁用了这些段
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
//not sure which one to use and why
[self.secondSegment setEnabled:NO];
//self.secondSegment.enabled = NO;
[self.thirdSegment setEnabled:NO];
//self.thirdSegment.enabled = NO;
}
太好了,它现在已禁用并呈灰色(所需行为)。但是当用户点击“黑色”时,我希望在 secondSegment
和 thirdSegment
属性中启用某些数字,以便用户能够选择:
- (IBAction)colorChosen:(id)sender {
UISegmentedControl *secondRow = self.secondSegment;
UISegmentedControl *thirdRow = self.thirdSegment;
NSString *colorName;
NSInteger colorIndex = [self.colorChosen selectedSegmentIndex];
if (colorIndex == 0) {
colorName = @"Black";
} else if (colorIndex == 1) {
colorName = @"Red";
} else if (colorIndex == 2) {
colorName = @"Green";
}
//NSLog is correct and displays the correct color when you choose
NSLog(@"%@", colorName);
//red numbers are 1,3,5,7,9, 12,14,16,18 19,21,23,25,27, 30,32,34,36
//greens are 0 and 00
//if they selected "Black" I want to re-enable these segments for the secondRow
if (colorIndex == 0) {
[secondRow setEnabled:YES forSegmentAtIndex:2];
[secondRow setEnabled:YES forSegmentAtIndex:4];
[secondRow setEnabled:YES forSegmentAtIndex:6];
[secondRow setEnabled:YES forSegmentAtIndex:8];
[secondRow setEnabled:YES forSegmentAtIndex:10];
[secondRow setEnabled:YES forSegmentAtIndex:11];
[secondRow setEnabled:YES forSegmentAtIndex:13];
[secondRow setEnabled:YES forSegmentAtIndex:15];
[secondRow setEnabled:YES forSegmentAtIndex:17];
}
}
最后,我没有启用两个段(如在 ViewDidLoad 中准备的那样),并且由于某些原因,当我明确告诉每个段单独启用时,它们将不会启用。我可以通过简单地执行 self.secondSegment.enabled = YES
来启用整个 secondSegment,但我终究无法弄清楚为什么我不能启用特定的段。
最佳答案
您必须先启用分段控件。然后你可以启用或禁用个别分割市场。
也许您应该始终启用分段控件,并且仅根据颜色更新各个段。有点像
[secondRow setEnabled:(colorIndex == 2) forSegmentAtIndex:0];
[secondRow setEnabled:(colorIndex == 1) forSegmentAtIndex:1];
[secondRow setEnabled:(colorIndex == 0) forSegmentAtIndex:2];
[secondRow setEnabled:(colorIndex == 1) forSegmentAtIndex:3];
// ...
当然这可以用一个循环来简化。
关于ios - 如何根据前面段中的选择启用和禁用某些 UISegmentedControl 段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23260623/
根据以下文档 ( https://developer.apple.com/documentation/uikit/uisegmentedcontrol/1618570-settitletextattr
我试图在登录时隐藏 nameTextField 并使其在注册时显示切换。我一直试图自己解决这个问题,但这就是我所得到的。我已经把它归结为两个错误,它们是相同的。 Issue Navigator laz
我有两个 UISegmentedControl,我想用其中一个来启用/禁用另一个。我编写了一个函数来处理这个问题,如下所示: - (void)disableSegment2 { if (
我有一个以编程方式定义的 UISegmentedControl。 我正在尝试添加布局约束,以便当我的 iPad 旋转时,分段控件在旋转 View 中正确调整大小,而不是溢出屏幕。 我应用了以下约束:
如何通过再次按下同一段来取消选择 UISegmented 控件中的给定段? 例如按下段 0,它将被选中并保持突出显示。再次按下段 0,它将变为未选中且未突出显示。 该控件仅触发 UIControlEv
我正在为我的分段控件设置颜色,如下所示: segmentedControl.backgroundColor = .gray segmentedControl.selectedSegmentTintCo
我在 iOS7 中更改分段控件的边框颜色时遇到问题。我在 stackoverflow 的其他地方找到了以下建议: [[UISegmentedControl appearance] setTit
是否可以让 UISegmentedControl 在 iPhone 上跨越两行?我已经在一些应用程序中看到了这一点,但没有在文档中找到我需要的内容。也许它是一个自定义的 UIButton,设计得像 U
我的应用程序中有一个 UISegmentedControl(请参阅下面的代码): // --------------- SETTING NAVIGATION BAR RIGHT BUTTONS NSA
我的 iPhone 应用程序中有一个分段控件,在 ios6 上运行良好,但在 ios7 上,分段图 block 被截断(有足够的空间容纳文本,但无论如何都会截断它们) self.segment
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: How to change font color of UISegmentedControl 是否可以为 selec
有没有办法通过编程使UIsegmentedControl具有方角?请帮忙!!! 最佳答案 您可以为将完全覆盖边框的片段设置背景图像。如果背景图像是方形的,那么分段控件将显示为方形。对您想要自定义的每个
如何制作多行 UISegmentedControl。我需要它有 6 个按钮,每行 3 个。我如何以编程方式执行此操作? 最佳答案 您将需要使用其中两个,并使用 selectedSegmentIndex
我正在使用带有一些自定义图像的 UISegmentedControl: UISegmentedControl *segmentedControl = [[UISegmentedControl allo
有没有办法摆脱 UISegmentedControl 的圆角或者它是默认行为? 最佳答案 有一些非常简单的方法可以让您摆脱 UISegmentedControl 上的圆形垃圾...将样式更改为“7”。
就像标签栏一样,我想在 UISegmentedControl 上显示徽章。因为我看不到 UISegmentedControl 的任何预定义方法,就像可用于 UITabBar 的方法一样。 我考虑过将徽
如何获得一个类似于邮件应用程序中的 UISegmentedControl,以便它与 UIToolbar 按钮颜色相同(就好像两个段都处于选定状态一样)。 我想使用分段控件来实现与 Mail 完全相同的
这可能是一个非常简单的问题,但我似乎无法在 API 或任何搜索引擎中找到任何内容。 我有一个分段控件,我已将其设置为瞬时,因为用户将选择他们想要搜索的几个汽车品牌。我遇到的问题是我似乎无法弄清楚如何识
当我将整个导航栏设置为黑色时,通常在所选按钮上的 UISegmentedControl 上显示的色调不会显示(self.navigationController.navigationBar.tintC
我想为 UISegmentedControl 提供以下方面: 注意灰色背景 View ,以及分段控件未选定项目的白色背景。 但是,如果我为 UISegmentedControl 提供白色背景,我会得到
我是一名优秀的程序员,十分优秀!