为啥我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c

Posted

技术标签:

【中文标题】为啥我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c【英文标题】:why can't I focus on correct uitextfield in the uitableview cell (goes over navigation bar) in iOS, objective c为什么我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c 【发布时间】:2016-07-22 11:03:03 【问题描述】:

我正在使用带有自定义TableViweCellTableViewController 来收集用户信息。在我的自定义TableViweCell 里面有超过 5 个textfields。 (注意:我使用的是 tableview 控制器,因为它有助于在点击 uitextfield 时自动在键盘上方滚动)。所以当我点击第一个uitextfield 时,会自动聚焦它并自动向上滚动(在导航栏底线附近停止。)。然后当我点击另一个uitextfield 时,它会通过导航栏向上滚动。然后用户必须向下滚动才能在上面输入。这是什么问题。

我是否应该为每个文本字段使用不同的自定义 uitableview 单元格

tableview .m 文件实现。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView


    return 1;


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section


    return 1;



- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
    HoteluserdetailformTableViewCell *formcell = [tableView dequeueReusableCellWithIdentifier:@"hotelformcell" forIndexPath:indexPath];


    return formcell;


- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    return screenSize.height;

【问题讨论】:

【参考方案1】:

找到了解决方案。如果我们想使用多个文本字段,我们必须在 section 方法中以行数返回那么多行。 例如:如果你想要5 文本字段

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section


    return 5;

注意:在同一个自定义单元格中使用 5 个文本字段对此不起作用。

【讨论】:

添加视图动画以在单击文本字段时向下滚动。

以上是关于为啥我不能专注于 iOS 中 uitableview 单元格(越过导航栏)中的正确 uitextfield,目标 c的主要内容,如果未能解决你的问题,请参考以下文章

为啥“[self.tableView reloadData]”不能确保我看到刚刚添加到 UITableView 的数据的最新行? (包括代码)

为啥图像未显示在目标 C 的 cellforRowAtIndexPath 中

为啥我的多通道映射不能正常工作?

单击按钮后如何激活专注于输入的iOS键盘?

推荐一个专注于移动端技术研究领域的优质平台

推荐一个专注于移动端技术研究领域的优质平台