2014-12-02 3 views
-2

사용자 정의 UITableviewCell을 만들 때 을 으로 설정했지만 작동하지 않습니다.프로그래밍 방식으로 테이블 뷰 셀을 선택할 수 있습니까?

그러나 [tableview reloadData] 다음에 [tableView selectRowAtindexPath :]를 호출해도 문제가 없습니다. 나는 여기에

혼란 일부 코드의 소스입니다 :

-(void)setModel:(GAInterestSetModel *)model 
{ 
    _model = model; 
    if (model.iconURL && model.iconURL.length > 1) { 
     [iconView setImageWithURL:[NSURL URLWithString:model.iconURL]]; 
    } 
    if (model.title && model.title.length > 1) { 
     titleLabel.text = model.title; 
    } 
    if (model.memberCounts) { 
     membersLabel.text = [NSString stringWithFormat:@"成员:%d",model.memberCounts]; 
    } 
    self.selected = model.defaultChoosed; 
} 

대신 방법 :

[modelsArray enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
     tempModel = (GAInterestSetModel *)obj; 
     if (tempModel.defaultChoosed) { 
      [rootTableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:idx inSection:0] animated:NO scrollPosition:UITableViewScrollPositionNone]; 
     } 
    }]; 
+0

제목을 많이 변경하면 제목에 "Question like"가 표시됩니다. – Matt

+0

어디에서'setModel :'을 (를) 호출합니까? – Mateusz

답변

0

선택은 셀의 속성이 아니다. .selected = YES을 호출하면 테이블이 선택 사항을 알 수 없으므로 아무런 영향을주지 않습니다.

[table selectRowAtIndexPath:...]을 사용해야합니다. 그렇지 않으면 작동하지 않습니다.

또 다른 가능성은 기본 선택을 무시하고 자신의 선택 메커니즘을 구현하는 것입니다.

관련 문제