2013-02-25 72 views
0

我的一个视图控制器的布局是这样的:我有一个滚动视图嵌入我的VC。在我的滚动视图中,我有一个由5个单元格组成的表格视图。前3个单元格由文本字段组成,可从字典中提取文本,并根据特定情况进行更改。这些文本框是可编辑的,因此点击它们可以打开键盘,但问题是我希望我的视图在我点击文本框时滚动,因为现在他们的键盘隐藏了第三个可编辑文本框。另一个问题是,此刻,在表格视图之外单击并不会导致键盘被解除,因此解除键盘的唯一方法是点击返回键。我想要发生的事情是,当我点击3个可编辑字段中的任何一个时,滚动视图应该向上滚动一个我定义的特定数字(这样我可以定义要滚动多少,具体取决于哪一行是目前选定)。我面临的一个问题是,我不能直接在VC中引用这些文本字段,因为它们都是通过一个原型单元创建的。我的想法是,我可以创建一个字典,其中3个文本字段作为键,然后将scrollview的y坐标作为值,然后使用它。但是,我不确定如何在我的情况下做到这一点(使用原型单元格)。如果有人能向我展示一些关于如何做到这一点的示例代码,我将非常感激。处理键盘和tableviewcell

+0

可能出现的重复[逻辑移动键盘上的文本字段点击](http://stackoverflow.com/questions/9135248/logic-for-moving-text-field-above-keyboard-on-tap) – 2013-02-25 01:56:36

+0

此错误解决方案并不适合我。这不利于我处理我的原型单元格和滚动视图。 – 2013-02-25 02:05:27

回答

0

您可以通过调用cellForRowAtIndexPath:来获取UITableViewCell,然后调用viewWithTag:来获取您的UITextField,以引用您的文本字段。只需给文本字段分配一个标签号。另外,将文本字段的委托设置为您的视图控制器,以便您可以响应用户点击以编辑文本。