Ios 触摸UIView时更改布尔值
我试图在触摸Ios 触摸UIView时更改布尔值,ios,objective-c,uiview,boolean,Ios,Objective C,Uiview,Boolean,我试图在触摸ui视图时设置对其的更改。它是UIView的子类,并具有一个名为“isSelected”的属性BOOL 创建视图时,我们将其设置为“是”: self.isSelected = YES; 触摸视图时,将运行以下命令: - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if (self.isSelected) { self.isSelected = NO; } else
ui视图时设置对其的更改。它是UIView
的子类,并具有一个名为“isSelected”的属性BOOL
创建视图时,我们将其设置为“是”:
self.isSelected = YES;
触摸视图时,将运行以下命令:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (self.isSelected) {
self.isSelected = NO;
} else if (!self.isSelected) {
self.isSelected = YES;
}
问题似乎是,人们似乎总是把ISSELECT视为“否”而不是“是”。最好的方法是什么
编辑:注销
-(void)setIsSelected:(BOOL)isSelected {
NSLog(@"isselected chaned to: %@",isSelected ? @"Yes" : @"No");
}
您重写的setIsSelected:
方法从不更新该值。你想要:
-(void)setIsSelected:(BOOL)isSelected {
_isSelected = isSelected;
NSLog(@"isselected chaned to: %@",isSelected ? @"Yes" : @"No");
}
仅供参考-您可以将这4行替换为1:self.iSSelected=!自选的代码>。这将切换值。谢谢@rmaddy-我添加了一个编辑,显示我注销对isSelected的更改。我已经把那些台词改成了你的建议。我注意到更改总是显示为是。有什么不对吗?我需要这是正确记录,以便我可以调用一个不同的更新方法时,它被更改为是/否从这个视图直接或当VC他们居住在更新的isSelected这些。谢谢如果您要覆盖setIsSelected:
方法,那么设置方法中的值会有帮助。您是对的@rmaddy-此默认方法中应该包含什么?当此属性更改时,这是更改背景/钻孔器的正确方法还是有更好的方法?