添加按钮以显示/隐藏信息

时间:2012-02-09 17:08:38

标签: objective-c button views

我的应用程序中的视图必须显示很多信息。所以我想到了点击时打开的特殊按钮或文本字段。例如:像维基百科移动设备上的按钮一样,可以扩展类别以显示更多信息或隐藏不需要的信息。

有人知道在我的应用程序中实现这个的好方法吗?


我有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;
}

我必须添加特殊的东西吗?如果有人需要更多代码 - 请告诉我。

1 个答案:

答案 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