2013-05-16 1 views
1

저는 많은 성공없이 UITableView를 사용하여 페이스 북 스타일 피드를 재 작성하려고했습니다. 내 첫 번째 아이디어는 '카드'가 포함 된 셀에 새보기를 추가하는 것이지만이 작업을 수행하지 못했습니다. 누구든지이 일을 어떻게 진행하는지에 대한 제안이 있습니까?Rubyotion으로 UITableView에서 페이스 북 피드 스타일 카드를 만드는 방법은 무엇입니까?

다른 관심사는 각 셀의 내용에 따라 높이가 어떻게 다릅니 까?

붙임은 내가 달성하려고 노력하고있는 것을 설명하기 위해 facebook UI의 이미지이다.

Facebook Feed UI

+0

이것은 매우 모호한 질문입니다. 시도한 것에 대한 코드 예제를 제공하면 더 나은 답변을 얻을 수 있습니다. –

+0

마지막으로 어떻게했는지에 대한 세부 정보가 있습니까? 나는 "카드"를 가진 테이블과 메시지 (코멘트)를위한 또 다른 테이블의 관점에서 같은 이슈를 가지고있다. 결국 어떻게했는지에 관심이있을 것입니다. – Jammer

답변

1

나는 UITableViewCell을 하위 클래스로 만들고, initWithStyle : reuseIdentifier :를 사용자 지정 초기화 코드로 확장하고, layoutSubviews를 재정 의하여 변수 내용을 기반으로 모든 위치를 지정합니다.

라벨의 내용과 UIFont에 따라 너비와 높이를 계산할 수 있습니다.

'Wow! Nice Photo!'.sizeWithFont(UIFont.fontWithName('Helvetica', size: 18.0)) 
# CGSize width=144.0 height=22.0> 

여기에 대한 템플릿입니다 어떻게 설정 변수있는 UITableViewCell 하위 클래스를 것 :

class AwesomeCell < UITableViewCell 
    def initWithStyle(style, reuseIdentifier: reuse_identifier) 
    super.tap do |cell| 
     # initialize and add your subviews to contentView 
    end 
    end 

    def layoutSubview 
    # layout your subviews 
    end 

    def calculated_height 
    # calculate your height 
    end  
end 

그러나 aceofspades가 지적했듯이, 동적 UITableViewCells의 높이를 결정하는 성능에 미치는 영향을 알고 있어야합니다

.

셀의 전체 높이를 고정하기 위해 레이블 내에 고정 된 수의 줄을 표시하지 않으면 성능이 훨씬 향상됩니다.

몇 가지 다른 고정 높이의 UITableViewCell 하위 클래스를 만들고 들어오는 내용을 기반으로 적절한 적절한 UITableView를 사용하면 더 뛰어난 UITableView를 얻을 수 있습니다.

1

당신은 당신의 UITableViewCell 인스턴스의 contentView에 하위 뷰를 추가 할 수 있습니다. 행 높이를 제어하려면 tableView:heightForRowAtIndexPath:을 사용하십시오. 그러나 문서의 성능 영향에 대한 참고 사항을 확인하십시오.