2014-06-08 3 views
0

RubyMotion 및 ProMotion을 사용하여 사용자 정의 셀이있는 tableView를 작성하고 있습니다. 나는 세포가 보이지 않는 이유를 알 수 없다. 사용자 정의 셀 클래스를 사용하지 않으려는 경우 제목 레이블이 표시됩니다. 내가 여기서 무엇을 놓치고 있니? 감사!사용자 정의 ProMotion TableCell이 표시되지 않음

TableScreen

class HomeScreen < PM::TableScreen 
    title 'Overview' 

    def on_load 
    @welcome_label = UILabel.new 
    @welcome_label.text = 'Welcome to PushUp' 
    end 

    def table_data 
    data1 = [1, 2, 3] 
    data = [{ number: 1, date: '1.2.2014' }, { number: 5, date: '2.2.2014' }] 

    [{ 
     title: 'PushUps', 
     cells: 
        data.map do |e| 
        { cell_class: MyCell, title: e[:anzahl].to_s, date: e[:datum] } 
        end 
    }] 
    end 
end 

는 사용자 정의 셀

: 오늘 아침에 레이크 경우

정말 이상한

class MyCell < PM::TableViewCell 
    attr_accessor :title, :detail 

    def layoutSubviews 
    @title = newTitleLabel 
    @detail = newDetailLabel 
    addLabelsToSubview 
    end 

    def addLabelsToSubview 
    Motion::Layout.new do |layout| 
     layout.view self.contentView 
     layout.subviews "title" => title, "detail" => detail 
     layout.vertical "|[title]|" 
     layout.vertical "|[detail]|" 
     layout.horizontal "|-[title]-10-[detail]-|" 
    end 
    end 

    def newTitleLabel 
    label = UILabel.alloc.init 
    label.font = UIFont.preferredFontForTextStyle(UIFontTextStyleHeadline) 
    label 
    end 

    def newDetailLabel 
    label = UILabel.alloc.init 
    label.font = UIFont.preferredFontForTextStyle(UIFontTextStyleFootnote) 
    label 
    end 
end 

업데이트, 셀 2 개 레이블을 보여 주었다 여기 내 코드입니다 . 그들은 둘 다 왼쪽에 앉아 있는데, 나는 일종의 표준적인 iOS 셀 디자인이라고 생각합니다. 그래서 그것은 제게 만들어지지 않았습니다. 그러나 그들은 내가 그들에게 준 값을 가지고있다.

그런 다음 initWithStyle 메서드 (super에 대한 호출 및 self 자체 반환)가 아니면 셀 클래스에서 모든 것을 삭제했습니다. 그 세포는 그대로있었습니다. 이것은 내 셀 디자인이 셀 디자인에 아무런 영향을 미치지 않는다는 것을 의미합니다. 아마도 세포 계급을 올바른 방법으로 선언하지 못한 것일까 요? 감사!

답변

1

ProMotion 파트를 제대로하고있는 것처럼 보입니다. 어떤 버전의 PM을 사용하고 있습니까?

일부 디버깅 단계 :

  1. 당신의 MyCell 내부 주석으로 모든 것을하고 제목을 표시되는지 확인합니다.
  2. 그렇다면 MotionLayout에 문제가있는 것입니다.
  3. 여전히 작동하지 않으면 PM 버그이며 문제를 신고 할 수 있습니다.

ProMotion이 아닌 MotionLayout에 문제가 있다고 생각합니다.

+0

늦은 답변자에게는 죄송합니다. ProMotion 1.1.2와 모션 레이아웃 0.0.2를 사용하고 있습니다. – Linus

+0

나는 당신이 제안한 것들을 시도 할 것입니다. – Linus

+0

Ok 알게 된 질문으로 질문을 업데이트합니다. – Linus