ios – 如何截断UITextView内容以适应缩小的尺寸?

我在解决这个问题时遇到了麻烦.

正如标题所示,我在iPhone应用程序的视图中有几个UITextView.我以编程方式创建它们并成功地用文本填充textview,但在某些情况下,我放在视图中的文本比我为其分配的帧占用更多空间.在这种情况下,我希望文本被截断,但我无法弄清楚如何做到这一点.

我预先定义了以下常量;

#define viewOriginX  20
#define viewOriginY 180

这是我的UITextView创建代码;

textViewOne = [[UITextView alloc] initWithFrame:CGRectMake(viewOriginX,viewOriginY + 65,280,45];
textViewOne.delegate = self;
textViewOne.scrollEnabled = NO;
textViewOne.contentInset = UIEdgeInsetsZero;
textViewOne.font = viewFont;
textViewOne.textColor = [UIColor blackColor];
textViewOne.textAlignment = UITextAlignmentLeft;
[self.view addSubview:textViewOne];

在某些情况下,我在这里有15到20行文本,我想将其截断为2行.

谁能帮助我朝正确的方向发展?

提前致谢! :d

解决方法

你可以做一个字符计数.例如,如果你有这样的UITextField:
+--------------------+
|This is a string in |
|a text view.        |
+--------------------+

你有每行20个字符的东西.如果您知道该数字,则可以通过-substringToIndex:方法截断字符串.

int maxCharacters = 40; // change it to your max
if([myString length] > maxCharacters) {
    myString = [myString substringToIndex:maxCharacters];
}

你也可以考虑一下UILabel.由于您只需要2行文本,因此UILabel的numberOfLines属性可以解决您的问题.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...