根据UISwitch位置更改UITextView的行为
问题描述:
我有一个UITextView,我在其中附加了委托协议textViewDidChange以执行不同的操作。根据UISwitch位置更改UITextView的行为
现在我只想在我的UISwitch为“ON”的情况下附加这个Delegate方法。我如何做到这一点?
感谢
答
这听起来像你想textViewDidChange:
只有在开关打开时才会触发。否则,它不应该开火。
我不会推荐设置和取消设置委托以完成此操作。
相反,你可以摆脱困境的方法:
- (void)textViewDidChangeSelection:(UITextView *)textView {
if (!self.switch.isOn) {
return; // bail out
}
// your "different actions" code
}
,或根据你的风格,你可以这样做:
- (void)textViewDidChangeSelection:(UITextView *)textView {
if ([self shouldRespondToChangeInTextView:textView])
[self respondToChangeInTextView:textView];
}
}
- (BOOL)shouldRespondToChangeInTextView:(UITextView *)textview {
return self.switch.isOn;
}
- (void)respondToChangeInTextView:textView:(UITextView *)textView {
// your "different actions" code
}
答
内,您的委托方法你可以把你所有的代码if
声明中说if switch.on {...
。如果交换机的on
属性设置为true,它将执行其余的代码。否则,它只会跳过它。