iPhone:如何在不考虑宽度的情况下获取textView中输入的行数

Posted

技术标签:

【中文标题】iPhone:如何在不考虑宽度的情况下获取textView中输入的行数【英文标题】:iPhone : How to obtain the number of lines entered in textView without consideration of width 【发布时间】:2011-01-10 10:08:24 【问题描述】:

在我的 iPhone 应用程序中,我有一个文本视图,用户将在其中输入多行数据。

现在我需要一个可以获取行数的解决方案。

我需要一个不考虑宽度的解决方案。

我只需要用户在 textView 中输入的行数。

我该怎么做?

【问题讨论】:

【参考方案1】:

既然您说的是“不考虑宽度”而不是“不考虑高度”,那么您就是这样做的:

int numberOfLines = yourUITextView.contentSize.height / yourUITextView.font.lineHeight

UIFont 属性lineHeightios4.0 的新属性,旧版本使用leading 属性。

编辑,

此答案适用于自动插入换行符(即行变长)的文本视图,如果您只想知道手动插入换行符的数量,Terentes 答案会这样做。

要计算手动插入的换行符,这个 hack 应该这样做:

int numberOfManuallyBreaks = [[yourUITextView componentsSeparatedByString:@"\n"] count];

【讨论】:

你不能直接使用你的UITestView.font.lineheight吗? @Aditya ,只给你一行的高度。 好的,我会尝试并回复您。感谢您的意见 非常感谢比约恩。您的解决方案效果很好。非常简单有效的解决方案。非常感谢..我一直在寻找解决方案一段时间。 :) 一票赞成 :)【参考方案2】:

您是否尝试过使用 TextView 的 numberOfLines 属性来获取行数。

【讨论】:

你在哪里可以找到这个属性?它不适用于 UITextView。 我没有在 textView Aditya 中找到行数属性。你在哪里找到的? @Parth BJorn 的回答是正确的【参考方案3】:

你的意思是当用户按下键盘上的返回键时?如果是这样计算其中的 \n 。 希望对您有所帮助。

NSArray *arrayWithLines = [myString componentsSeparatedByString:@"\n"];
NSLog(@"Number of Lines:%@",[arrayWithLines count]);

【讨论】:

但是我该怎么做呢?当我看到代码时,其中没有显示任何 \n 。怎么做?请给一些小代码sn-p

以上是关于iPhone:如何在不考虑宽度的情况下获取textView中输入的行数的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 Xcode、iPhone 中的谷歌地图的情况下从地址获取纬度和经度

如何在不设置内部div宽度的情况下使用margin:0 auto

PHP - 在不加载图像的情况下获取有关图像(高度和宽度)的信息

如何减少文本框的宽度?

如何在不使用while循环的情况下获取xml内容

如何在不下载 Java 的情况下获取网站图像的尺寸?