【发布时间】:2016-12-24 08:36:15
【问题描述】:
我在 xib 中创建了一个容器视图,我在该容器视图中添加了各种文本字段,如果用户到达该视图控制器,我希望容器视图自动滚动到特定的文本字段并专注于它。
请注意,我没有使用滚动视图,我想知道有没有办法在不使用 UIScrollView 的情况下做到这一点
【问题讨论】:
标签: ios objective-c uiscrollview uitextfield uicontainerview
我在 xib 中创建了一个容器视图,我在该容器视图中添加了各种文本字段,如果用户到达该视图控制器,我希望容器视图自动滚动到特定的文本字段并专注于它。
请注意,我没有使用滚动视图,我想知道有没有办法在不使用 UIScrollView 的情况下做到这一点
【问题讨论】:
标签: ios objective-c uiscrollview uitextfield uicontainerview
是的,您可以使用TableViewController 来完成。它会自动关注文本字段并在键盘出现时自动向上滚动。
【讨论】:
无法让 UIView 自行滚动。我建议使用滚动视图或表格视图。如果您决定使用表格视图,您会将文本字段放在单个单元格中,然后您可以执行以下操作来滚动:
//Scroll to 4th text field
NSIndexPath *indexToScrollTo = [NSIndexPath indexPathForRow:3 inSection:0];
[self.tableView scrollToRowAtIndexPath:indexToScrollTo
atScrollPosition:UITableViewScrollPositionTop
animated:YES];
在滚动视图中,您可以设置内容偏移量以滚动到特定的 y 位置。这是一个例子:
//Scroll down by 50
self.scrollView.contentOffset = CGPointMake(0,50);
【讨论】: