如何隐藏视图时禁用UISlider交互?

时间:2014-03-22 14:08:46

标签: ios iphone objective-c uiview uislider

现在我有一个UISlider,当按下按钮时我将其设置为隐藏,但如果我在按下按钮时与UISlider交互,则滑块消失但我仍然可以移动值滑块。

我试图在按下按钮时设置UserIneractionEnabled = NO,但这似乎不起作用。

关于如何禁用此功能的任何想法?

编辑 *我的代码*

- (void)didPressButton:(UIButton *)button
{
   if (!self.isShowingDetailView) //
   {
       self.showingDetailView = YES;
       self.valueSlider.hidden = YES;
       self.valueSlider.userInteractionEnabled = NO;
   }
   else
   {
       self.showingDetailView = NO;
       self.valueSlider.hidden = NO;
       self.valueSlider.userInteractionEnabled = YES;
   }

}

2 个答案:

答案 0 :(得分:2)

一种解决方法是在按钮和滑块上设置 exclusiveTouch 属性。这样他们就无法同时接触。

可以在Interface Builder或代码

中设置

答案 1 :(得分:0)

如果在点击按钮时滑块的值对您很重要,那么您应该在点击按钮时获取并存储该值。同样,您应该在再次显示之前设置滑块值。