Iphone 为什么我的UISlider拇指图像会多次显示,而不会像应该的那样消失?

Iphone 为什么我的UISlider拇指图像会多次显示,而不会像应该的那样消失?,iphone,uitableview,slider,uislider,Iphone,Uitableview,Slider,Uislider,此滑块具有以下功能: 每当我为tableview进入“编辑模式”或离开“编辑模式”,拇指所在的位置都会出现一个重复的拇指图像。它现在一直以这种方式行事。如果我从编辑模式来回切换,我会得到很多拇指图像,如屏幕截图所示 这是我用来创建滑块的代码(在cellForRowAtIndexPath方法中): 感谢你的任何想法 [我刚刚编辑/更新了此内容,以反映我收到的问题/建议,但它仍然存在问题]。尝试将其添加到单元格的contentView,而不是单元格本身。最终解决了这个问题 除了将滑块设置为cont

此滑块具有以下功能:

每当我为tableview进入“编辑模式”或离开“编辑模式”,拇指所在的位置都会出现一个重复的拇指图像。它现在一直以这种方式行事。如果我从编辑模式来回切换,我会得到很多拇指图像,如屏幕截图所示

这是我用来创建滑块的代码(在cellForRowAtIndexPath方法中):

感谢你的任何想法


[我刚刚编辑/更新了此内容,以反映我收到的问题/建议,但它仍然存在问题]。

尝试将其添加到单元格的contentView,而不是单元格本身。

最终解决了这个问题


除了将滑块设置为contentView之外,我必须将代码移动到viewDidLoad方法,这仍然发生在cellForRowAtIndexPath方法中。这真是个奇怪的问题。感谢那些帮助和评论的人

代码从哪个方法剪下?cellForRowAtIndexPath,因为滑块位于tableviewcell内。此特定代码段仅在行/节适当时调用一次。顺便说一句,如果
滑块
声明为
保留
,则内存泄漏。(您保留了一个
alloc
'd对象,但没有将
alloc
release
进行平衡……)我确实将其声明为retain,但在我的dealloc()中也将其释放。这不是正确的方法吗?通过将其分配到属性(
self.slider=…
),它将被保留两次。一次是通过调用
alloc
,另一次是通过setter(因为它是
retain
setter)。您只能在
dealloc
中释放它一次。您可能应该将其分配给一个本地
UISlider*
变量,对其进行配置,然后使用本地变量设置属性,然后使用本地变量发布。我将其添加到contentView中,唯一的区别是现在拥有的行为相当一致。每次我点击编辑按钮将表格置于编辑模式时,我都会得到一个重复的拇指图像,当我将其移出编辑模式时,也会得到一个。还有其他想法吗?
CGRect frame = CGRectMake(20, 42.0, 280.0, 22);
self.slider = [[UISlider alloc] initWithFrame:frame];
[self.slider addTarget:self action:@selector(sliderAction:) forControlEvents:UIControlEventValueChanged];
self.slider.continuous = YES;
self.slider.minimumValue = 0.0;
self.slider.maximumValue = 5.0;
self.slider.value = 0.0;
[[interestCell contentView] addSubview:self.slider];