2013-04-28 38 views
0

我有一个表和两个部分,每个都有7个修复行,因为我使用故事板我可以将我的表设置为静态表并静态填充它。iphone - 如何限制在一个部分中的可见单元格的数量

问题是,它使我一个高视图,用户需要滚动整个视图,但我需要改变它的方式,每个部分只显示四行,如果用户想滚动,在表内滚动区域(而不是整个视图)。

这里的图片:

现在是:

enter image description here

,但我想成为像:

enter image description here

,当用户希望只选择滚动在表格内, 感谢您的帮助。

+1

为什么不使用2个UITableViews,每次1个部分,一个在另一个上方的?通过这种方式,您可以根据需要添加任意数量的行并调整表格视图的大小,以便用户只能看到4行而无需滚动。 – andreagiavatto 2013-04-28 12:43:39

+0

如果我理解正确的,你想要一台7行,但只看到4行,因此用户向下滚动的3个行权..?我从另一个选项的用户体验点建议:静态示出了第一4行,并允许用户通过按压导航使用控制器来单独存在的全部7行表中的更多按钮向下钻取。 – nzs 2013-04-28 14:31:34

+0

@andreagiavatto,在你建议的方式,当你有一个分组表和表的可视尺寸小于该表的总高度(包括行)苹果刚切下,并不会成为好找。 – nfarshchi 2013-04-29 06:51:48

回答

0

不要使用您建议的双滚动视图。这是令人困惑和难以使用的。我强烈建议不要使用您建议的用户界面。

使表格视图动态并使用datasource协议。

- (NSInteger)tableView:(UITableView *)tableView 
numberOfRowsInSection:(NSInteger)section { 
    // return the desired number of rows 
} 

如果有很多行,你可以有部分返回0行为默认值,当用户点击一个节头动态插入行(使用定制的栏目标题为这个)。

在任何情况下,静态表格视图单元格都不可行。

+0

如果我没有找到用我的愿望方式使用静态表的答案,我会的。但想象一下你有一个3节的桌子:第一节有40排,第二节有30排;所以穷人用户应该滚动70行来查看是否有其他部分在那里。这似乎很愚蠢。但如果用户可以在一个视图中看到所有3个部分,然后在这些表格内滚动,那会更好 – nfarshchi 2013-04-29 07:07:39

+0

我的观点正是如此。这就是为什么静态表格视图单元格不适用于此用例。如果你有你描述的场景(有70行),你应该继续到另一个视图控制器的一个特定部分。此外,您可以使用我添加到我的答案(动态部分)的解决方案。忘记静态单元。 – Mundi 2013-04-29 11:09:15

+0

我做了同样的事情,用一些照片店的技巧来看它像2个部分的静态表,但实际上它是2个单独的实用表。任何方式坦克。我想我应该关闭这个帖子。所以你明白了 – nfarshchi 2013-04-30 09:46:14

0

实现你的UITableViewController这两种方法:

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section 
{ 
    if (section == tableView.numberOfSections - 1) { 
     return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 1, 1)]; 
    } 
    return nil; 
} 


- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 
{ 
    if (section == tableView.numberOfSections - 1) { 
     return 1; 
    } 
    return 0; 
} 

事实上,这些代码告诉tableview中,你不需要渲染分隔符行我了,所以它看起来赢得了空单元格不显示(实际上,空单元格也不能被选中)

或者您可以将单元格样式设置为组。

相关问题