0

我目前正在使用模板,但模板已过时,需要更新。我正在制作的应用程序是一个属性应用程序,客户希望能够使用uislider来选择最低和最高价格。

我认为这很简单,客户当前可以从uipicker中选择价格,这会从价格委托中获取其值。

我设法添加了我的uislider和一个标签,标签根据滑块的位置而变化。

我整个星期都在绞尽脑汁想弄清楚这件事。肯定不会那么难吧?

我有两个uislider,一个是最低价,一个是最高价。

我认为我可以将滑块编码为值,这将是一个带有委托值的 case 语句(虽然我不知道该怎么做),然后应用程序将采用的标签中的内容然后用作查询以将最低和最高价格添加到 url。

目前,它一直默认为最小值 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];

}

我是一名正在实习的学生,很遗憾这里没有人可以帮助我完成这件事,所以请耐心等待。

4

1 回答 1

1

几件事可以帮助您入门:

在您的代码中,您实际上没有为和/或设置UISlider属性。出于这个原因,它每次都重置为基数。minimumValuemaximumValue

另外,我不确定什么_appDelegate是特别的,但如果它真的是你的应用程序委托,你应该摆脱它。您不想在视图控制器中调用它。来自苹果文档:

应用程序委托是在应用程序启动时创建的自定义对象,通常由 UIApplicationMain 函数创建。该对象的主要工作是处理应用程序内的状态转换。例如,此对象负责启动时初始化和处理与后台的转换。

最后,当您设置标签的文本时,您不会从我所看到的范围内访问属性。确保您将标签视为属性,然后使用self.

于 2013-11-01T11:41:06.503 回答