例如,在 iphone 联系人应用程序中,在添加地址单元格中,当用户在“street”文本字段中键入时,另一个带有占位符“street”的文本字段会添加到当前文本字段下方并带有动画,如何做到这一点?
问问题
192 次
4 回答
1
添加此代码:
- (BOOL) textFieldShouldReturn:(UITextField *)textField{
CGRect frame = textField.frame;
frame.origin.y = frame.origin.y + frame.size.height + 5;//5 is space between two teftFields
UITextField *newTextField =[[UITextField alloc] initWithFrame:frame];
textField.placeholder = @"street";
[[textField superview] addSubview:newTextField];
return YES;
}
对于动画事物,请尝试调整:
[UIView animateWithDuration:(NSTimeInterval)
animations:^{

} completion:^(BOOL finished) {

}];
干杯。
于 2013-05-20T06:49:14.810 回答
1
在您的 IBAction 方法中,创建文本字段,设置框架并添加到单元格:
CGRect viewRect = CGRectMake(10, 10, 100, 100);
UITextfield *textView = [[UITextfield alloc] initWithFrame:viewRect];
[cell addSubview:textView];
要记住几件事:
tableView:cellForRowAtIndexPath:
如果单元格 id 出列并且您不需要该字段,请确保删除 textView 。设置字段的标签有助于再次找到它。如果您确实需要该字段,则还需要在此方法中添加它。
您可能需要调整高度并报告正确的高度tableView:heightForRowAtIndexPath:
根据您正在执行的操作,您可能只想添加另一个单元格,insertRowsAtIndexPaths:withRowAnimation
因为要管理的单元格状态会更少。如果您不小心,细胞状态会很快变得非常棘手。
于 2013-05-20T06:19:34.323 回答
0
您可以调用insertRowsAtIndexPaths:withRowAnimation:
以添加带有动画的新行。在新行中,您指定带有占位符“street”的文本字段的单元格。
于 2013-05-20T06:10:41.897 回答
0
您可以使用添加新 UITextField 所需的代码创建 IBAction,然后在您的 xib 中,使用“退出时结束”将该操作与初始文本字段链接。这将允许您在用户按下返回时执行新方法。
于 2013-05-20T06:14:21.613 回答