我的应用程序中的视图必须显示很多信息。所以我想到了点击时打开的特殊按钮或文本字段。例如:像维基百科移动设备上的按钮一样,可以扩展类别以显示更多信息或隐藏不需要的信息。
有人知道在我的应用程序中实现这个的好方法吗?
我有UITableVIew
。现在我制作了自己的TableViewCell。但如果我的表显示没有显示任何内容 - 但仍然可以选择单元格并打开Detailview。我忘记了哪个命令?
//Customize the appearance of table view cells.
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MainTableCell";
MainTableCell *cell = (MainTableCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[MainTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
VerwaltungInformation *selectedFormel = [listOfFormularies objectAtIndex:indexPath.row];
cell.FormelNameLabel.text = selectedFormel.nameFormel;
return cell;
}
我必须添加特殊的东西吗?如果有人需要更多代码 - 请告诉我。
答案 0 :(得分:2)
寻找这个的好方法是寻找披露按钮。
这些在iOS中实现的方式是使用具有分组样式的UITableView
。您可能正在寻找的是具有几个部分,每个部分具有一个标题单元格(该部分是该部分中唯一的一个,在索引0处)。因此,用户的管道将是触摸标题单元格,更多信息将显示在更多单元格或更多单元格中。
如果你无法想象这会想到可用的Wi-Fi网络是如何出现的那样。
您将从UITableView类实现以下方法:
beginUpdates
endUpdates
insertRowsAtIndexPaths:withRowAnimation:
编辑:
您必须首先为此公开行为设置一个类,但首先您需要定义一个可能是这样的模型:
DisclosureData
:
NSString
)NSString
)BOOL
)在定义了该类之后,您现在可以将它集成到您的UITableView
子类中,这可能会被称为DisclosureViewController
。该对象可能包含NSArray
属性,其中包含一堆DisclosureData
个对象。
现在剩下要做的就是实现你的委托表视图,要看的关键方法是:
tableView:didSelectRowAtIndexPath:
在本节中,您必须在DisclosureData
部分的open属性上提供类似XOR的行为;意思是如果触摸了该对象的单元格,则必须在关闭时打开它,如果已经打开则关闭它。
这个方法来自UITableView
类:
cellForrRowAtIndexPath:
在这个方法中,你必须做逻辑来知道该部分是否有一行或两行(一个在关闭时,两个可能在关闭时),也取决于文本的多少,你必须实现{{1方法
还要确保实现以下方法:
heighForRowAtIndexPath:
执行披露操作时,您必须使用版本块
numberOfRowsInSection