• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - 将文本移动到 UITableViewCell 中的下一个文本字段

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:33:28 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个 UITableView 和多个 UITableViewCell

每个单元格都有一个UITextFiled

现在我正在向文本文件的第一行添加文本。现在我想在文本范围达到屏幕宽度时将文本移动到文本文件的第二行。

编辑:

Textfiled 委托(delegate)方法

 - (BOOL)textFieldUITextField *)textField shouldChangeCharactersInRangeNSRange)range replacementStringNSString *)string
{
    CGFloat textWidth = [textField.text sizeWithAttributes{NSFontAttributeName : textField.font}].width;
    CGFloat frameWidth = textField.frame.size.width - 11;

    if(textWidth > frameWidth) {

       //text reaches to screen width.
       [textField resignFirstResponder];

       MemoTableViewCell *nextCell = [_tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRowtextField.tag+1) inSection:0]];
       [nextCell.noteTextField becomeFirstResponder];

      return NO;
  }

return YES;

}

表格 View 方法:

- (NSInteger)tableViewUITableView *)tableView numberOfRowsInSectionNSInteger)section
{
    return 20;
}


- (UITableViewCell *)tableViewUITableView *)tableView cellForRowAtIndexPathNSIndexPath *)indexPath
{
     static NSString *simpleTableIdentifier = @"SimpleTableItem";

    MemoTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];

    if (cell == nil) {
          cell = [[MemoTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
    }

    cell.noteTextField.delegate = self;
    cell.noteTextField.tag = indexPath.row;

    return cell;
}

现在我想在上述方法返回 NO 时移动文本。

对不起,我的英语不好。我希望你能理解我的问题,如果没有,请问我。

请帮帮我。

编辑

上面的代码工作正常,但有时它会在下面一行崩溃

CGFloat textWidth = [textField.text sizeWithAttributes{NSFontAttributeName : textField.font}].width;

Warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.



Best Answer-推荐答案


试试下面的代码,可能会有所帮助:

- (BOOL)textFieldUITextField *)textField shouldChangeCharactersInRangeNSRange)range replacementString:(NSString *)string {


CGFloat textWidth = [textfield.text sizeWithAttributes{NSFontAttributeName : textfield.font}].width;
CGFloat frameWidth = textfield.frame.size.width;

    if(textWidth > frameWidth) {

       //text reaches to screen width.
       [textfield resignFirstResponder];

        /*
        //Get next TextField and Make it first responder
        [cell.YourNextTextField becomeFirstResponder]; 
        */

        return NO;
    }

    return YES;
}

关于ios - 将文本移动到 UITableViewCell 中的下一个文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40151972/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap