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 属性lineHeight
是ios4.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