根据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,它将执行其余的代码。否则,它只会跳过它。