我需要实现两个分段控件。考虑到两个分段控件的索引,结果将是不同的。考虑到在第一个中,每个索引都有一个int固定数(不是变量),第二个控制有一个与每个索引相关的方程。我需要程序理解哪个是两个控件的组合(例如I = 0& II = 1)。 我开发此代码但不适合我。
if ((effortSegmented.selectedSegmentIndex ==0) && (styleSegmented.selectedSegmentIndex ==0)) {
float weight_b = [weightTf.text floatValue];
float totalCal = (((704*weight_b)/70.38) - 12);
self.calL.text=[NSString stringWithFormat:@"~%.1f kcal", totalCal];
} else if ((effortSegmented.selectedSegmentIndex==0) && (styleSegmented.selectedSegmentIndex==1)) {
float weight_b = [weightTf.text floatValue];
float totalCal = (((704*weight_b)/70.38)+32);
self.calL.text=[NSString stringWithFormat:@"~%.1f kcal", totalCal];
} else if ((effortSegmented.selectedSegmentIndex==0) && (styleSegmented.selectedSegmentIndex==2)) {
float weight_b = [weightTf.text floatValue];
float totalCal = (((704*weight_b)/70.38)+51);
self.calL.text=[NSString stringWithFormat:@"~%.1f kcal", totalCal];
}
你可以看到[-12,32,51]是与第一个控制索引相关联的固定int。即使我更改控制索引一,运行程序也不会导致标签发生任何变化。不知道在哪里看。
PS我无法声明标签,因为在
中-(void)awakefornib {
[segControl setSegmentedCount:3]
}
我看不到setSegmentedCount。列表中没有。
由于
答案 0 :(得分:0)
将tag属性设置为Segmented控件,并使用它来标识哪个事件属于哪个Seg控件。
- (void)awakeFromNib
{
[segControl setSegmentCount:3];
[[segControl cell] setTag:0 forSegment:0];
[[segControl cell] setTag:1 forSegment:1];
[[segControl cell] setTag:2 forSegment:2];
}
或者对于seg控件
self.mySegmentedControl.tag = 1;
答案 1 :(得分:0)
您可以将标记设置在您声明的位置或此方法调用之前设置为:
effortSegmented.tag=1;
styleSegmented.tag =2;
答案 2 :(得分:0)
我以这种方式解决,因为我还没有理解如何做标签。
- (IBAction)switchValue:(id)sender {
double teta = effortSegmented.selectedSegmentIndex;
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
[def setDouble:teta forKey:@"index"];
[def synchronize];
}
我将索引的值设置为变量。存放它。我是在与之前没有工作的分段控件相关的操作中做到的(数字1)。
然后我以这种方式获得了按钮动作中的变量:
- (IBAction)click_on:(id)sender {
NSUserDefaults *def = [NSUserDefaults standardUserDefaults];
double gamma = [def integerForKey:@"index"];
int delta = gamma*50;
我调用了变量并在if语句中使用它。
if (styleSegmented.selectedSegmentIndex ==0) {
float weight_b = [weightTf.text floatValue];
float totalCal = ((704*weight_b)/70.38)+delta;
self.calL.text=[NSString stringWithFormat:@"~%.1f kcal", totalCal];
}
为了获得变量i的固定值,乘以常量的索引。结果是0和常量之间的数字。 这是我发现的最佳方式。我知道不正确,但希望能帮助别人。