2017-03-28 1 views
1


UITableView가 포함 된 Swift 3에서 응용 프로그램을 작성하고 있습니다. 나는 테이블 뷰 셀을 실용적으로 생성하고있다. 내가 겪고있는 문제는 .reloadData() 함수 다음에 셀의 레이블 텍스트가 지속된다는 것입니다. 사용하기 전에 셀에서 모든 요소와 서식을 지우는 기능이 있습니까? 코드를 통해 UILabel을 인스턴스화하고 반복을 통해 UILabel에 액세스 할 수 없습니다. 불행히도, 나는 이미 프로그래밍 방식으로 테이블을 만드는 데 많은 시간을 투자 했으므로 가능한 경우 셀 클래스를 만들고 돌아가는 것을 피하고 싶습니다. 재사용하기 전에 UITableViewCell에서 프로그래밍 방식으로 만든 요소를 ​​지우는 방법

var label: UILabel 
       if reloadCount > 0 { 
        //clear all formatting from the cell 
       } 

        label = UILabel(frame: CGRect(x: 30, y: 0, width: self.screenWidth - 100, height: 50)) 
        label.textAlignment = .center 
        label.lineBreakMode = NSLineBreakMode.byWordWrapping 
        label.textColor = UIColor(red: 127.0/255, green: 140.0/255, blue: 142.0/255, alpha: 1.0) 
        label.font = UIFont(name: "Tahoma", size: CGFloat(22)) 
        label.numberOfLines = 0 
        label.tag = Int(self.thoughtFeed[indexPath.row].dbId!)! 
        label.text = thoughtFeed[indexPath.row].thoughtText!.fromBase64() 
        label.isUserInteractionEnabled = true 
        label.addGestureRecognizer(labelTap) 
        cell.addSubview(label) 

이 도움을 주셔서 대단히 감사합니다

는이 같은 함수 뭔가를 사용할 계획입니다.

+0

어떻게하면 tableView에로드 될 데이터를 저장하고 있습니까? 'UITableViewDataSource' 코드의 일부를 보여주세요. – toddg

+0

어레이 지우기, –

+0

이 코드를'cellForRowAt'에서 실행할 계획이십니까? – DonMag

답변

1

UILabel을 어떻게 든 기억하고 다시 사용하거나 제거해야합니다. UITableViewCell의 하위 클래스를 사용하지 않으려는 경우 태그를 사용하여 레이블에 대한 참조를 얻을 수 있습니다. 귀하의 cellForRowAtIndexPath에서 다음과 같이하십시오 :

if let label = cell.viewWithTag(42) as? UILabel { 
    // now you have a reference to the existing label. 
    // Just update the text (or whatever you need to do) 
} else { 
    label = UILabel(frame: CGRect(x: 30, y: 0, width: self.screenWidth - 100, height: 50)) 

    // add a tag so we can remember it when we dequeue a cell later 
    label.tag = 42 
    cell.addSubview(label)  
} 
+0

도움 주셔서 감사합니다. 나는 이것을 조금만 시도해보고 어떻게 효과가 있었는지 알려 줄 것이다. – iamnickpitoniak

+0

@iamnickpitoniak 행운을 빕니다? – toddg

+0

네, 도와 줘서 고마워. – iamnickpitoniak

관련 문제