2017-12-08 4 views
1

링크 here 아래에서 큰 코드 조각을 발견했습니다. 하지만 내 경우에는 할 일이 많습니다.
내 메인 VCUITableViewController입니다. 컨트롤러는 두 가지 유형의 셀을 표시 할 수 있습니다. 그 중 하나 (MyCell)는 UITextView (textView) 유형의 하위보기가 있습니다. 텍스트의 크기는 fontSize 변수를 기반으로합니다. fontSize을 낮추거나 높일 수있는 두 개의 버튼이 있으며 두 버튼 모두 tableView을 다시로드합니다. 위의 링크에 따르면 및 UITextViewUIScrollView의 서브 클래스 있다는 사실을 가지고, 나는 코드의 내 조각 나는 didEndDisplayingCell에 배치했다 :
ScrollBar 항상 표시

-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (cell.class == [ConduiteTableCellView class]) 
    { 
     ConduiteTableCellView *conduiteCell = (ConduiteTableCellView *)cell; 
     for (UIView *view in conduiteCell.textView.subviews) 
     { 
      if ([view isKindOfClass:[UIImageView class]]) 
      { 
       if (view.alpha == 0 && view.frame.size.width < 10) 
       { 
        view.alpha = 1; 
        break; 
       } 
      } 
     } 
     [conduiteCell.textView flashScrollIndicators]; 
    } 
} 

을하지만 [self.tableView reloadData]; 아무 일도 발생하지 않습니다 후. 내가 도대체 ​​뭘 잘못하고있는 겁니까? 다른 방법으로 코드를 삽입해야합니까?

+1

if 내부 코드가 호출 되었습니까? – trungduc

+0

예. 디버깅 목적으로 'NSLog'를 만들었고 적절한 'cell.textView'에서 적절한 텍스트를 인쇄합니다. – mcgtrt

+0

'func tableView (_ tableView : UITableView, cellForRowAt indexPath : IndexPath) '에서 작업을 시도한 적이 있습니까? –

답변

1

[conduiteCell.textView flashScrollIndicators];을 제거하면 작동합니다.

-(void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if (cell.class == [ConduiteTableCellView class]) 
    { 
    ConduiteTableCellView *conduiteCell = (ConduiteTableCellView *)cell; 
    for (UIView *view in conduiteCell.textView.subviews) 
    { 
     if ([view isKindOfClass:[UIImageView class]]) 
     { 
     if (view.alpha == 0 && view.frame.size.width < 10) 
     { 
      view.alpha = 1; 
      break; 
     } 
     } 
    } 
    } 
} 
+0

죄송합니다. 작동하지 않습니다. 나는'textView' 내에서 스크롤 바를 검색하는 것을 망쳤거나 다른 방법으로 그것을 놓았습니다. 나는 어떤 일이 일어나고 있는지 모르겠습니다. : – mcgtrt

+0

프로젝트를 만들고 코드를 시험해 보았습니다. 그 줄을 제거하면 작동합니다. – trungduc

+0

그리고 아래로 또는 위로 스크롤하면 어떻게됩니까? 보이지? – mcgtrt