我有一个UITextView,我附加了委托协议 textViewDidChange 来执行不同的操作。
现在我想在我的UISwitch为“ON”时附加此Delegate方法。我怎么能这样做?
由于
答案 0 :(得分:2)
在您的委托方法中,您可以将所有代码放在if
语句中,并说if switch.on {...
。如果交换机的on
属性设置为true,则它将执行其余代码。否则它就会跳过它。
答案 1 :(得分:1)
听起来只有在开关打开时才需要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
}