【问题标题】:parsing text view for '\n' symbol in obj c在obj c中解析'\ n'符号的文本视图
【发布时间】:2014-08-13 22:02:41
【问题描述】:

我的应用中有一个文本视图、一个“保存”按钮和一个表格视图。如果我希望将文本视图中的文本添加到表格视图中,请按“保存”按钮。这就是它的工作原理。
现在有两个问题:

  • 如果文本视图仅包含“\n”,我希望禁用我的按钮
  • 表格视图中的单元格具有动态高度,这意味着我计算表格视图单元格中标签的行数

所以,问题的第一部分是:我是否需要解析文本视图中的所有字符并确定它们是否匹配 '\n' 以及文本视图中是否只有 '\n' 符号?有什么方法可以让文本视图更轻松?

第二部分:当我告诉文本视图有一些'\n'符号时,我可以通过什么方式计算行的高度?

【问题讨论】:

    标签: ios objective-c uitableview uitextview


    【解决方案1】:

    要回答您的第一个问题,请参阅以下 SO 答案: Check if an NSString is just made out of spaces

    您可以使用有关 whitespaceAndNewlineCharacterSet 的答案,因为这与您尝试做的事情有关。

    至于你问题的第二部分,要计算给定文本的文本标签的大小,有一种简单的方法可以做到这一点:

     CGSize textSize = [text sizeWithFont:[UIFont systemFontOfSize:YOUR_FONT_SIZE_HERE] constrainedToSize:CGSizeMake(MAX_WIDTH, MAX_HEIGHT) lineBreakMode:UILineBreakModeWordWrap];
    

    这里,“text”是你试图判断大小的字符串。从这个“textSize”你可以做

    textSize.height
    

    获取此文本的高度,然后在其上方和下方添加您可能需要的任何填充以获得标签/行的最终高度。所有这些都可以在名为的方法中完成:

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

    返回一个浮点数,即行的高度。

    【讨论】:

      猜你喜欢
      • 2014-08-14
      • 2020-10-09
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 2011-12-09
      • 2017-01-22
      • 1970-01-01
      相关资源
      最近更新 更多