2010-05-21 135 views
1

我在这个iPhone开发的东西很新,我正在一个公司的一些现有的代码。我试图设置初始值的uislider实际上是在一个UITableViewCell中,并且是一个自定义控件。我想在单元格中的initUISlider如何设置初始值

cell = (QuantitiesCell *)[self loadCellWithNibName:@"QuantitiesCell" forTableView:ltableView withStyle:UITableViewCellStyleDefault]; 

我可以调用类似

((QuantitiesCell *)cell).value = 5; 

实际QuantitiesCell类有成员值和以下功能

-(void)initCell;{ 
    if (listOfValues == nil) { 
     [self initListOfValues]; 
    } 
    quantitiesSLider.maximumValue = [listOfValues count]-1; 
    quantitiesSLider.minimumValue = 0; 
    quantitiesSLider.value = self.value; 
} 

-(void)initListOfValues;{ 
    listOfValues = [[NSMutableArray alloc] initWithCapacity:10]; 
    int j =0; 
    for (float i = minValue; i <= maxValue+increment; i=i+increment) { 
     [listOfValues addObject:[NSNumber numberWithFloat: i]]; 
     if (i == value) { 
      quantitiesSLider.value = j; 
     } 
     j++; 
    } 
} 

就像我说的,我很新,所以如果我需要发布更多的代码,以显示什么将得到帮助,让我知道,

此滑块总是默认为1,滑块范围通常从1-10开始,我想将其设置为我尝试编辑的项目的特定值。

回答

6

如果您的链接正确(您已在Interface Builder中创建了连接),则设置slider.value是正确的方式。如果您已经在代码中创建了UISlider,您只需设置value属性即可。如果这不起作用,那么首先确保对象是“活的”(正确分配,不释放,不在范围外),其次,设置slider.value的函数实际上被调用。

如果您正在使用Interface Builder,并且不确定如何将滑块连接为IBOutlet,则应该查看iTunes大学 - 搜索“CS193P”以查找斯坦福大学出色的视频。第一对夫妇会带你通过建立这些关系。如果使用IB并且你没有建立连接 - 什么都不会发生。

+0

这是我认为,谢谢你确认这个:) – slim 2010-05-21 16:17:54

1

PS我有相同的发行者 - 您需要先添加UISlide视图,然后才能更改值。

+0

这也是我的问题。谢谢。 – Mikrasya 2017-11-03 05:52:55