2012-02-09 56 views
0

意见已经显示了大量的信息。所以我想到了点击时会打开的特殊按钮或文本框。例如:像维基百科移动的按钮,扩大类别显示详细信息或隐藏不需要的信息。添加按钮来显示/隐藏信息在我的应用

有谁知道我的应用程序来实现这个什么好的方法?


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

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

回答

2

寻找一个很好的方法是看披露的按钮。

那些在iOS的实施方式,是使用UITableView s的一个分组的风格。你可能要寻找的是有几个部分,每个部分有一个标题单元(这个单元是该部分唯一的一个,在索引0处)。所以用户的管道将触摸标题单元格,更多的信息会出现在更多的单元格或多个单元格中。

如果你无法想象这是怎么回事可用的Wi-Fi网络出现。

您将实现从UITableView类以下方法:

beginUpdates 
endUpdates 
insertRowsAtIndexPaths:withRowAnimation: 

编辑:

您必须通过具有本公开行为的一类开始,但首先你需要定义一个模型,大概可以是这样的:

DisclosureData

  • 章节标题(NSString
  • 额外信息(NSString
  • 部分开放(BOOL

具有类中定义你可能现在它集成到您​​UITableView子类,这可能会叫做后像DisclosureViewController。并且该对象可能具有包含一堆DisclosureData对象的NSArray属性。

现在所有剩下要做的就是将委派表查看密钥的方法来在寻找有:

tableView:didSelectRowAtIndexPath: 

在本节中,你将不得不在DisclosureData部分开放的财产提供类似行为的XOR ;这意味着如果该对象的单元格被触摸,则必须在关闭时打开它,如果它已经打开,则必须关闭它。

而且从UITableView类此方法:

cellForrRowAtIndexPath: 

在这种方法中,你将不得不这样做的逻辑知道部分是否有一个或两行(关闭时一,二可能是在关闭时) ,还取决于有多少文字,你必须实现heighForRowAtIndexPath:方法

也一定要实现以下方法: numberOfRowsInSection

当执行披露行动你将不得不使用版块

beginUpdates 
endUpdates 
+0

我可以想象你在告诉我什么 - 这是我正在寻找的。但我真的不知道如何将它集成到我的应用程序中。你知道在哪些*点*我可以找到这个在文档中,或者我可以找到更多关于这个你说的一般(如一个简短的教程....)? – Daniel05 2012-02-09 18:19:52

+0

丹尼尔你好,我已经扩大了我的答案一点,希望这会帮助你。如果你从来没有使用过'UITableView',你应该先看看你喜欢和理解的教程。这将有很大帮助。 – 2012-02-09 19:00:20

+0

非常感谢!我了解你的解释,并将在此工作......谢谢! – Daniel05 2012-02-09 19:02:54