gpt4 book ai didi

ios - 分段 Controller 隐藏段 0

转载 作者:行者123 更新时间:2023-12-01 18:57:02 29 4
gpt4 key购买 nike

我有一个使用界面生成器制作的分段 Controller ,它看起来像这样

enter image description here

有时我使用它将它设置为四个

[segmentedControl insertSegmentWithTitle:@"Dinner" atIndex:2 animated:YES];
[segmentedControl insertSegmentWithTitle:@"Latenight" atIndex:3 animated:YES];

哪个有效并且很好,但这是我的问题出现的地方,有时我只想吃早餐和晚餐,深夜但不吃午餐。但是我仍然希望晚餐在索引 2 和深夜在索引 3。所以我拥有的代码不需要根据有多少索引而多次更改。我知道 [segmentedControl setEnabled:NO forSegmentAtIndex:0];但这看起来不太好,这不是我想要做的吗?

基本上有没有一种方法可以隐藏午餐索引,以便晚餐仍处于索引 2,和/或将晚餐设置为索引 2,即使没有午餐段?

我在这里先向您的帮助表示感谢!!! :)

编辑
-(IBAction)selectMeal:(id)sender{


switch (((UISegmentedControl *) sender) .selectedSegmentIndex) {
case 0:
if ([dayInfo isEqualToString:@"Monday"]) {
deliString = @"//day[@name='monday']/meal[@name='LUNCH']/counter[@name='Deli']/dish/name";
}
case 1:if ([dayInfo isEqualToString:@"Monday"]) {
deliString = @"//day[@name='monday']/meal[@name='Dinner']/counter[@name='Deli']/dish/name";
}

试过这个:
        indexBreakfast = -1;
indexLunch = 0;
indexDinner = 1;
[segmentedControl removeSegmentAtIndex:indexBreakfast animated:YES];
[segmentedControl insertSegmentWithTitle:@"Dinner" atIndex:indexDinner animated:YES];

最佳答案

请不要使用这种方法。我知道您希望无需查找就能知道哪种类型与哪个索引对应,但这只是懒惰。

这是另一种方法。当您确定要显示哪些选项时,存储一个选项数组(包装的枚举值、字符串标题等)。当你的目标 Action 被触发时,从数组中获取所选片段索引处的类型。完毕。

在您的类(class)中,创建一个属性来存储订单

@property (nonatomic, strong) NSArray *mealStrings;

然后,当您确定了您想要的餐点和订单后,使用值创建一个数组
self.mealStrings = @[@"Breakfast", @"Lunch"];

...并初始化 UISegmentedControl ...
self.segmentedControl = [[UISegmentedControl alloc] initWithItems:self.mealStrings];

然后当你需要知道哪顿饭时,你可以用
NSString *mealName = self.mealStrings[self.segmentedControl.selectedSegmentIndex];

关于ios - 分段 Controller 隐藏段 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172805/

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