需求:
1、UITextView中加入CheckBox(UIButton),使用富文本方式实现。
2、UITextView在非编辑状态下不可点击(添加UITextView到UITableViewCell,textView需要响应Cell父视图事件),但可以点击CheckBox。
3、UITextView在编辑状态下恢复点击状态。
实现:
新建一个UITextView的分类,m文件加入以上代码。
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *view = [super hitTest:point withEvent:event];
if (self.isEditable) {
return view;
}
if ([view isKindOfClass:[UIButton class]]) {
return view;
}
if (view == nil) {
for (UIView *subView in self.subviews) {
CGPoint tp = [subView convertPoint:point fromView:self];
if (CGRectContainsPoint(subView.bounds, tp)) {
view = subView;
if ([view isKindOfClass:[UIButton class]]) {
return view;