如何配置它在UITableView中呈现,或者应该在多个UITableView中完成

时间:2014-08-18 23:35:34

标签: ios uitableview ios7

在这种情况下,我不需要那么多UITableViews。我有一个相当复杂的Menu对象。它有标题和项目,就像这样(想象一下rails acts_as_tree,其中menuHeaders数组可以任意深度,因此有三个抽象:一个Menu,一个可以嵌套的MenuHeaders数组,以及一个MenuItems数组):

Menu
 \menuHeaders is an array
    menuHeader - name="Service"
      \menuHeaders[]
      \menuItems
        \menuItem="transmission fix"
        \menuItem="replace gaskets"
    menuHeader - name="Specials"
      \menuHeaders
          \menuHeader -name="Tires"
             \menuItem - special tire
             \menuItem - verySpecial Tire
      \menuItems
          \menuItem - name="oil change"
          \menuItem - name="windows clean"

表中的输出:

Service
 transmission fix
 replace gaskets
Specials
  Tires
    special tire
    verySpecial Tire
  oil change
  windows clean   

我不确定是否应该将其构建为一个单元UITableView,或者每个子数组是否应该是它自己的UITableView,或者我将如何迭代每个元素?看起来cellForRowAtIndexPath只能处理单个数组或2D数组,而不是这个。我将如何构建这个?

当我在jQuery中渲染时,我会执行类似

的操作
renderMenHeader(menuHeader)
  if(menuHeader.menuItems){
    for(mi in menuHeader.menuItems){
      renderMenuItem(mi)
    }
  }

  if(menuHeader.menuHeaders){
    for(mh in menuHeader.menuHeaders){
      renderMenuHeader(mh)
    }
  }

但不确定如何将其映射到UITableView抽象。总而言之,我宁愿将这些作为单独的UIView保留,但它们可以达到300-500个单位,因此我需要能够处理仅可见元素的处理。如果在通用的UIView中有一个workaroudn来处理这个问题,那也是有意义的。

THX

0 个答案:

没有答案