2016-12-14 2 views
0

RATreeView를 사용중인 프로젝트에서 작업 중입니다. 성공적으로 을 구현했습니다. 하지만 내 문제는 내가 셀을 확장 할 때 자식 셀이 처음 제대로 표시되지 않는다는 것입니다. 두 번째 클릭 후 완벽하게 표시됩니다.RATreeView의 확장 된 하위 뷰 위치

더 나은 아이디어를 얻으려면 this을 방문하십시오.

다음은 사용자 정의의 tableview 세포

func setup(title: String, icon: UIImage, level : Int,isChild:Bool) { 
     self.title.text = title 
     self.icon.image = icon 

     if isChild{ 
      let left = 50.0 + 20.0 * CGFloat(level) 

      let tFrame = self.title.frame 
      let iFrame = self.icon.frame 

      self.title.frame = CGRectMake(left, tFrame.origin.y, tFrame.width, tFrame.height) 
      self.icon.frame = CGRectMake(left-25, iFrame.origin.y, iFrame.width, iFrame.height) 


     } 
    } 

내 코드입니다 그리고 여기에 각 셀 제발 도와주세요

func treeView(treeView: RATreeView, cellForItem item: AnyObject?) -> UITableViewCell { 
     let cell = treeView.dequeueReusableCellWithIdentifier("TreeCell") as! TreeTableViewCell 
     let item = item as! ExpandableItems 

     let level = treeView.levelForCell(cell) 

     cell.setup(item.name, icon: item.icon!, level: level,isChild: item.isChildren) 


     return cell 
    } 

에 대한 코드입니다. 그리고 또한 셀의 기본 선택 색상을 변경하고 싶습니다.

답변

0

오웬 질문에 답변 해 드리겠습니다 ... 다른 사람들에게 유용 할 수도 있습니다.

나는

var level = 0 
    override func layoutSubviews() { 
     super.layoutSubviews() 

     if level > 0 { 
      let left = 40.0 + 20.0 * CGFloat(level) 

      var iFrame = self.icon.frame 
      var tFrame = self.title.frame 

      iFrame.origin.x = left-25 
      tFrame.origin.x = left 

      self.title.frame = tFrame 
      self.icon.frame = iFrame 
     } 
    } 

아래로 내 사용자 정의 셀 클래스에 코드의 비트를 추가 한 그리고 그것은 나를

을 위해 일