gpt4 book ai didi

ios - 如何使用textview移动到 TableView 中的下一个单元格/行

转载 作者:行者123 更新时间:2023-11-29 13:20:06 26 4
gpt4 key购买 nike

我卡在这个问题上了。请帮我解决这个问题。这是我的图像,现在我在表中有 5 行不同的行。如果您在编辑第一个字段后单击第一个文本字段,那么我希望完成按钮单击以转到第二个字段并同时打开 TextView 和文本字段(如图所示)。Category Filed 具有选择器 View ,Name 字段(如图所示),Location 与图像相同,price 有一个操作表。

现在我已经为 Price Field 的操作表添加了代码。有人可以帮我实现要求吗。感谢您的帮助...:)

enter image description here

我正在做类似的事情,但它对我来说还没有用。代码是:

- (void) textFieldDoneTouched
{

[self.site setValue:textField.text forIndex:selectedRow];

[UIView animateWithDuration:0.3
animations:^{
CGRect f = textFieldContainerView.frame;
f.origin.y = self.view.frame.size.height;
textFieldContainerView.frame = f;
}];

[textField resignFirstResponder];
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:selectedRow inSection:0];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
self.tableView.userInteractionEnabled = YES;

[self.view endEditing:TRUE];

[self validateSiteData];
}

- (BOOL) textFieldShouldReturn:(UITextField *)textField
{

[self textFieldDoneTouched];
return YES;
}

#pragma mark -
#pragma mark UITextViewDelegate

- (void) textViewDoneTouched
{




[self.site setValue:textView.text forIndex:selectedRow];

[UIView animateWithDuration:0.3
animations:^{
CGRect f = textViewContainerView.frame;
f.origin.y = self.view.frame.size.height;
textViewContainerView.frame = f;
}];

[textView resignFirstResponder];
NSIndexPath *indexPath = [NSIndexPath indexPathForItem:selectedRow inSection:0];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
self.tableView.userInteractionEnabled = YES;

[self validateSiteData];
}


#pragma mark - UIActionSheetDelegate

- (void) actionSheet:(UIActionSheet *)actionSheet1 clickedButtonAtIndex:(NSInteger)buttonIndex
{

if(buttonIndex == 0) {
self.site.price = @"Free";
// NSIndexPath *indexPath = [NSIndexPath indexPathForItem:4 inSection:0];

// [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:100];
//[textField resignFirstResponder];
// [textView becomeFirstResponder];
}
else if(buttonIndex == 1) {
self.site.price = @"Paid ($)";
// NSIndexPath *indexPath = [NSIndexPath indexPathForItem:4 inSection:0];

// [self.tableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:100];
// [textField resignFirstResponder];
//[textView becomeFirstResponder];
}


NSIndexPath *indexPath = [NSIndexPath indexPathForItem:selectedRow inSection:0];
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];

[self validateSiteData];

}

最佳答案

所以,您希望 iPhone 的返回键转到下一个字段,就像在计算机键盘上按 Tab 键一样?

一个小提示:我建议使用默认的灰色“返回”键,而不是屏幕截图中的蓝色“完成”键。 “完成”用于当用户完成填写表单并且键盘应该消失时; “return”用于转到下一个字段或文本行,就像在 Apple 的“联系人”应用中一样。

Apple Contacts

与 Apple 的联系人应用程序一样,我还建议您的 UITextFields 与其标签(类别、名称...)位于相同的 UITableViewCells 中。我发现屏幕截图中键盘正上方的文本字段有点令人困惑。如果您这样做,则以下 textFieldShouldReturn 的实现将使下一个单元格的文本字段成为第一响应者。

- (BOOL) textFieldShouldReturn:(UITextField*)textField {
// Determine the row number of the active UITextField in which "return" was just pressed.
id cellContainingFirstResponder = textField.superview.superview ;
NSInteger rowOfCellContainingFirstResponder = [self.tableView indexPathForCell:cellContainingFirstResponder].row ;
// Get a reference to the next cell.
NSIndexPath* indexPathOfNextCell = [NSIndexPath indexPathForRow:rowOfCellContainingFirstResponder+1 inSection:0] ;
TableViewCell* nextCell = (TableViewCell*)[self.tableView cellForRowAtIndexPath:indexPathOfNextCell] ;
if ( nextCell )
[nextCell.theTextField becomeFirstResponder] ;
else
[textField resignFirstResponder] ;
return YES ;
}

如果您希望我发布整个项目,请告诉我。

UITextFields inside UITableViewCells

关于ios - 如何使用textview移动到 TableView 中的下一个单元格/行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14582924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com