我在解决这个问题时遇到了麻烦.
正如标题所示,我在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属性可以解决您的问题.