如何操纵ProMotion :: Table :: Cell的高度

时间:2013-10-16 19:42:48

标签: rubymotion

我对rubymotion和推广很新,很抱歉,如果问题是一个愚蠢的:)我找不到任何信息如何操作单元格的高度后点击它。有人知道怎么做吗?非常感谢

class TimeOffsScreen < ProMotion::TableScreen

  def table_data
    TimeItem.all.map do |item|
      {
        title: item.name,
        action: :open_time_item,
        arguments: { item: item },
        editing_style: :delete,
        height: 90
      }
    end
  end

  def open_time_item(item)
    # Set height of this table cell
  end

end

1 个答案:

答案 0 :(得分:2)

目前没有很好的方法可以做到这一点。您可以实现它的一种方法是访问哈希中的数据,然后刷新表数据。

顺便说一下,我发现你的代码中有一个错误。您需要提供一系列包裹细胞的部分。

我在这里举了一个如何做到这一点的例子,但你需要验证它是否有效。

def table_data
  @time_items ||= TimeItem.all
  [{
    cells: @time_items.map do |item|
      { 
        title: item.name,
        action: :open_time_item,
        arguments: { item: item },
        editing_style: :delete,
        height: item.height || 90
      }
    end
  }]
end

def open_time_item(item)
  item.height = 180 # .height can be a temporary attr_accessor with no persistence
  update_table_data
end