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 자체 반환)가 아니면 셀 클래스에서 모든 것을 삭제했습니다. 그 세포는 그대로있었습니다. 이것은 내 셀 디자인이 셀 디자인에 아무런 영향을 미치지 않는다는 것을 의미합니다. 아마도 세포 계급을 올바른 방법으로 선언하지 못한 것일까 요? 감사!
늦은 답변자에게는 죄송합니다. ProMotion 1.1.2와 모션 레이아웃 0.0.2를 사용하고 있습니다. – Linus
나는 당신이 제안한 것들을 시도 할 것입니다. – Linus
Ok 알게 된 질문으로 질문을 업데이트합니다. – Linus