2012-01-13 44 views
0

我正在尝试创建一个类似Tumblr iPhone应用程序的登录/注册视图。 我希望点击按钮后隐藏最后两行,并在再次单击时再次显示它们。如何隐藏登录页面的最后两行?

任何想法?

感谢,

+0

你可以对这个问题更具体一点。注销后我查看了tumblr应用登录页面,只有两个字段 - 电子邮件和密码。我不确定你指的是什么“按钮”,以及你想隐藏的行。 – 2012-01-13 04:16:58

+0

这是我想要模仿的登录页面左上角的“注册/登录”按钮的功能。 – liquidpenguins 2012-01-13 04:29:23

回答

2

使按钮切换一个BOOL hideLastTwoRows您在tableView类设置,然后在你的实现UITableViewDataSource,使用这样的:

// USE THIS if you don't use sections at all 
- (NSInteger)numberOfRowsInSection:(NSInteger)section 
{ 
    if(self.hideLastTwoRows) 
    { 
     return [self numberOfRows]-2; // obviously use the right thing here 
    } else { 
     return [self numberOfRows]; 
    } 
} 

// USE THIS if you do use sections, and the last 2 rows are in the second section 
- (NSInteger)numberOfSections 
{ 
    if(self.hideLastTwoRows) 
     return 1; 
    else 
     return 2; 
} 

我相信你可以找到其他方法来做到这一点。确保按钮还使用[tableView reloadData]或类似的重新加载方法传入特定索引路径来重新加载tableview。

+0

是的,这是完美的。只需要在if语句中更改hideLastTwoRows。 – liquidpenguins 2012-01-13 04:27:58

+0

我还有一个问题:有什么办法让这个过渡动画? – liquidpenguins 2012-01-13 04:28:22

+0

@liquidpenguins是的,你可以使用[“类似的重新加载方法”](http://developer.apple.com/library/ios/documentation/uikit/reference/UITableView_Class/Reference/Reference.html#//apple_ref/doc/uid/TP40006943-CH3-SW53)我提到过。更具体地说,'insertRowsAtIndexPaths:withRowAnimation:'和'deleteRowsAtIndexPaths:withRowAnimation:'。 – darvids0n 2012-01-13 04:36:55

0

您还可以使用下面的代码也

- (NSInteger)numberOfRowsInSection:(NSInteger)section 
{ 
    return [arForData count]-2; 

}