为啥我不能专注于 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 【问题描述】:我正在使用带有自定义TableViweCell
的TableViewController
来收集用户信息。在我的自定义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 的数据的最新行? (包括代码)