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