我目前正在使用模板,但模板已过期,需要更新。我正在制作的应用是一个属性应用,客户希望能够使用 uislider 来选择最低和最高价格。
我认为这很简单,客户当前可以从 uipicker 中选择价格,从价格代表处获取价值。
我已设法添加 uislider 和标签,标签会根据滑块的位置而变化。
我整个星期一直绞尽脑汁想要解决这个问题。它肯定不会那么难吗?
我有两个 uisliders 一个来自最低价格,一个来自最高价格。
我认为我可以将滑块编码为值,这将是一个带有委托值的case语句(虽然我不知道怎么做),然后应用程序会在标签中出现什么然后使用作为查询将最小和最大价格添加到网址。
目前,它默认为默认值为500,最大值为0。
这是我为滑块设法实现的代码。
- (IBAction)slider:(id)sender {
UISlider *slide = (UISlider *)sender;
int min = (int)(slide.value);
//Display min price
NSString *minprice = [NSString stringWithFormat:@"%d", min];
NSLog(@"min : %@",minprice);
label_min.text = minprice;
NSString * priceString = [[NSString alloc] initWithFormat:@"%@",
[priceDelegate.values objectAtIndex: [_appDelegate int_minPriceV]]];
[self.tf_price setText:priceString];
}
- (IBAction)sliderMax:(id)sender {
UISlider *slidetwo = (UISlider *)sender;
int max = (int)(slidetwo.value);
//Display max price
NSString *maxprice = [NSString stringWithFormat:@"%d", max];
NSLog(@"max : %@",maxprice);
label_max.text = maxprice;
NSString * priceStringTwo = [[NSString alloc] initWithFormat:@"%@",
[priceDelegate.values2 objectAtIndex: [_appDelegate int_maxPriceV]]];
[self.tf_priceTwo setText:priceStringTwo];
}
我是目前正在实习的学生,我很遗憾没有人可以帮助我完成这项工作,所以请耐心等待我。
答案 0 :(得分:1)
很少有事情可以帮助您入门:
您的代码中没有位置实际为UISlider
和/或minimumValue
设置maximumValue
属性。因此,每次都会重置为基数。
此外,我不确定_appDelegate
是什么特别的,但如果它真的是你的应用委托你应该摆脱它。您不希望在视图控制器中调用它。来自apple docs:
app delegate是在app发布时创建的自定义对象, 通常由UIApplicationMain函数。这个的主要工作 object是处理app中的状态转换。例如, 该对象负责启动时初始化和处理 过渡到背景。
最后,当您设置标签的文本时,您无法从我看到的内容访问该属性。确保您将标签视为属性,然后使用self
进行设置。