如何创建像iPhone Facebook应用程序一样的登录屏幕?

时间:2011-02-21 01:21:12

标签: iphone ipad user-interface

iPhone的Facebook应用程序有一个很好的用户名/密码设置,它几乎看起来像UITextField在两行内的uitableview,这是怎么做的?或者它会完全不同吗?

如果是tableview,一旦用户点击Login按钮,如何访问tableview内的文本字段?有没有快速的方法来迭代tableview中的单元格?

一个简单的,我知道,但如果我不需要,我不想实现精心设计的tableview ...

5 个答案:

答案 0 :(得分:4)

来源https://github.com/c99koder/lastfm-iphone

编辑:您可以自定义UITableViewCell并在其中放置U​​ITextField。但是,有一种更简单的方法可以实现这一点,因为登录/注册页面几乎总是静态的。见下文。

LastFM for iPhone使用了类似的登录/注册页面设计。他们开源了他们的代码。看看nib文件,你就会知道LastFM是如何做到这一点的。 : - )

  • 屏幕截图1:原始
  • 屏幕截图2:我删除了一些后台png文件。

enter image description here enter image description here

答案 1 :(得分:3)

创建一个tableview控制器并转到xib文件 - >属性检查器 - > tableview并选择“group styled”而不是plain。然后,您可以通过添加用户名和密码的文本字段来自定义代码中的tableview单元格。然后创建一个新的UIView并将视图设置为tableview的页脚视图以获取登录按钮。

有关相同的更多解释,请仔细阅读此问题的答案。

Table view in iPhone in grouped style

答案 2 :(得分:1)

看起来它根本没有使用UITableView(否则,你可以上下滚动页面)。它只有两个UITextField超过自定义背景(或自定义背景)。

现在,如果您想使用UITableView,您可以做的是将UITextField s中的UITableViewCell存储为变量。然后,当用户点击登录按钮时,您只需从text获取UITextField值。

但是,如果你想模仿Facebook的外观,你不需要为UITableView而烦恼。

希望这有帮助!

答案 3 :(得分:0)

好了,现在我理解了你的问题(感谢@Jonathan!),是的,它确实看起来像是一个使用带有UITextField的自定义UITableViewCells的tableview。

使用UITextField创建自定义单元格后,您可以将视图控制器指定为UITextField委托,并通过委托方法访问各个点的值:

– textFieldShouldBeginEditing:
– textFieldDidBeginEditing:
– textFieldShouldEndEditing:
– textFieldDidEndEditing:

例如,在textFieldShouldReturn:中,您可以使用以下命令获取对该单元格的indexPath的引用:

NSIndexPath *indexPath = [self.loginTable indexPathForCell:(MemberLoginCell*)[[textField superview] superview]];

然后到:

的单元格

MemberLoginCell *cell = (MemberLoginCell*)[self.loginTable cellForRowAtIndexPath:indexPath];

或者只需抓取textField.text值并将其分配给可以根据需要传递给LOGIN方法的NSString。

答案 4 :(得分:0)

我知道已有一个已接受的答案,但我使用UITableView创建了一个facebook类型的登录页面。代码在github上是here