Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 关于UIButton选择的If语句_Ios_Objective C_Uibutton - Fatal编程技术网

Ios 关于UIButton选择的If语句

Ios 关于UIButton选择的If语句,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我不确定这为什么不起作用: - (IBAction)sliderValueChanged:(UISlider *)sender { if (_menuRightItem2.selected == YES) { NSLog(@"yes"); if (sender == self.slider1) [sender setValue:((int)((slider1.value + 1) / 1.0) - 1.0) animated:NO]

我不确定这为什么不起作用:

- (IBAction)sliderValueChanged:(UISlider *)sender {
    if (_menuRightItem2.selected == YES) {
        NSLog(@"yes");
        if (sender == self.slider1)
            [sender setValue:((int)((slider1.value + 1) / 1.0) - 1.0) animated:NO];
        else if (sender == self.slider2)
            [sender setValue:((int)((slider2.value + 1) / 1.0) - 1.0) animated:NO];
    }
    barHeight = slider1.value * -20 + slider2.value * -50; //! hoogte in de min, yea right.
    [UIView animateWithDuration:0.50 animations:^{
        self.orangeView.frame = CGRectMake(595, 615, 80, barHeight);
    }];
}
我试图实现的是,当选择
menuRightItem2
时,它会执行我的
if-else
语句,否则不会执行。但是我的
NSLog()。实现这一目标的正确方法是什么

我的按钮声明:

- (IBAction)menuRightItem2Touch:(id)sender {
    _menuRightItem2.selected = !_menuRightItem2.selected;
}

我试着基于这样的理解来实现您的代码:
\u菜单项2
ui按钮
,正在使用

-(IBAction)menuRightItem2Touch:(id)sender method.
有两个滑块(iBouts)
滑块1
滑块2
。两者都使用监听
ValueChanged
事件

-(IBAction) sliderValueChanged:(UISlider*)sender
代码似乎运行得很好。请确保您已使
\u菜单项2
收听-

-(IBAction)menuRightItem2Touch:(id)sender

检查按钮是否选中,如果未选中,请使用如下所示的setselected功能

- (IBAction)menuRightItem2Touch:(id)sender {    
    if([_menuRightItem2 isSelected])
    {        
        [_menuRightItem2 setSelected:NO];        
    }    
    else{
        [_menuRightItem2 setSelected:YES];
    }
}

[\u menuRightItem2已选中]
返回布尔值

您可以在
if
语句中直接使用此方法,这是推荐的方法,而不是将其等同于
YES

所以试着使用它

if([_menuRightItem2 isSelected]){

}

希望有帮助。

什么是
\u menuRightItem2
?尝试将滑块的
连续属性更改为
。那么我认为您不需要检查_menuRightItem2.selected _menuRightItem2是一个UIButton注意您总是(除了在
init…
方法中或在
getter
setter
方法本身中)为您的IVAR使用访问器!所以你永远不要使用
\u menuRightItem2.selected
而是
self.menuRightItem2.selected
好的,只有当选择了menuRightItem2时,代码才会工作,这就是我在这里试图实现的。是的,只有当我选择按钮并移动滑块时,代码才会工作。尝试调试并确保在您选择按钮时控件转到-(iAction)菜单RightItem2Touch:(id)sender。您是否可以上载您制作的项目?看看我是否能发现问题。调试说明了什么?控件是否转到(iAction)菜单项2触摸:(id)发送方方法?能否在回答中添加详细信息?他为什么要这样做?仅仅说“尝试并使用”并不是一个好答案。@Popeye。。现在这是你做的有用的事情。你能在你的答案中添加细节吗?他为什么要这样做?仅仅说“试试看”不是一个好答案。