iPhone的Facebook应用程序有一个很好的用户名/密码设置,它几乎看起来像UITextField在两行内的uitableview,这是怎么做的?或者它会完全不同吗?
如果是tableview,一旦用户点击Login按钮,如何访问tableview内的文本字段?有没有快速的方法来迭代tableview中的单元格?
一个简单的,我知道,但如果我不需要,我不想实现精心设计的tableview ...
答案 0 :(得分:4)
来源:https://github.com/c99koder/lastfm-iphone
编辑:您可以自定义UITableViewCell并在其中放置UITextField。但是,有一种更简单的方法可以实现这一点,因为登录/注册页面几乎总是静态的。见下文。
LastFM for iPhone使用了类似的登录/注册页面设计。他们开源了他们的代码。看看nib文件,你就会知道LastFM是如何做到这一点的。 : - )
答案 1 :(得分:3)
创建一个tableview控制器并转到xib文件 - >属性检查器 - > tableview并选择“group styled”而不是plain。然后,您可以通过添加用户名和密码的文本字段来自定义代码中的tableview单元格。然后创建一个新的UIView并将视图设置为tableview的页脚视图以获取登录按钮。
有关相同的更多解释,请仔细阅读此问题的答案。
答案 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