2012-06-15 2 views
3

UITableViewCell 안에 UITextView 하위 뷰가 있습니다. 사용자가 셀을 탭하면 배경 이미지가 선택된 상태로 전환됩니다. UITextView이 첫 번째 응답자가되지만 커서는 숨겨집니다. 셀 선택을 사용하지 않으면 UITextView가 문제없이 커서를 표시합니다.셀이 선택되면 UITableViewCell의 UITextView가 커서를 숨김

셀을 선택하고 표시되는 커서로 UITextView을 편집하는 방법은 무엇입니까? :)

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
    if (selected && ![textView isFirstResponder]) { 
     [textView setUserInteractionEnabled:YES]; 
     [textView becomeFirstResponder]; 
    } else { 
     [textView resignFirstResponder]; 
     [textView setUserInteractionEnabled:NO]; 
    } 
} 
+0

일부 코드를 게시 하시겠습니까? – QED

답변

4

내가 설정할 때 커서가 숨기기 위해 셀이 멈 춥니 다.

cell.selectionStyle = UITableViewCellSelectionStyleNone; 

그러나 그 후에도 셀은 selectedBackgroundView를 사용을 중지했습니다. 그래서 backgroundView의 강조된 상태로 이미지를 설정했습니다.

cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"input_up.png"] highlightedImage:[UIImage imageNamed:@"input_up_act.png"]] autorelease]; 

그리고는하는 setSelected의 이미지를 전환 : 애니메이션 :

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 
    if (selected && ![textView isFirstResponder]) { 
     [textView setUserInteractionEnabled:YES]; 
     [textView becomeFirstResponder]; 
    } else { 
     [textView resignFirstResponder]; 
     [textView setUserInteractionEnabled:NO]; 
    } 

    [(UIImageView *)self.backgroundView setHighlighted:selected]; 
} 
1

당신은 UITextViewDelegate 프로토콜 방법 textViewDidBeginEditing: 내부 UITableViewCellselected 속성을 설정 시도 할 수 있습니다.

그래도 해결되지 않으면 셀의 하위보기로 UIImageView을 만들고 위 방법에서 그 내용을 변경하십시오.

+0

그건 내 첫번째 시도 였어. 효과는 동일합니다. 셀을 선택하면 커서가 숨겨집니다. –

+0

그래서 나는 버그가 아니라 그 기능을 추측합니다. 왜 셀을 선택하고 싶습니까? 내 제안에 대한 대안을 참조하십시오. – Mundi

+0

예. 아마 도움이 되겠지만 올바른 해결책처럼 보이지는 않습니다. 왜냐하면 나는 같은 방식으로 모든 셀에 스타일을 설정하기를 선호하기 때문입니다. –

0

셀을 선택하면 textView가 첫 번째 응답자가되지만 커서가 숨겨져 있으므로 셀을 선택 취소하면 커서가 표시됩니다.

+0

예. 선택한 상태의 셀 배경 이미지는 사용자에게 "이봐, 텍스트 필드가 있고 지금 편집하고 있기 때문에"텍스트를 편집하는 동안 셀을 선택해야합니다. :) –

2

커서 비 어쩌면 일 아닌가요 흰색 사라졌다! try : [self.tableView setTintColor : [UIColor redColor]];

관련 문제