目标C,如何在UITextView中更改行

时间:2011-03-21 22:06:25

标签: objective-c uitextview linefeed

我正在从Web服务器下载UITextView内容,它只返回没有任何换行符的文本。我将\n\\n[CR]和更多内容插入到我要更改行的位置,但这些都没有效果。如何在UITextView中更改文本行?

2 个答案:

答案 0 :(得分:0)

怪异。适合我。

_subtypeField = [[UITextView alloc] initWithFrame:CGRectMake(28, 189, self.bounds.size.width-30, 100)];
[_subtypeField setFont:[UIFont fontWithName:@"Helvetica" size:13]];
[_subtypeField setText:@"Examples:\n- Fentanyl\n- Dilaudid 2 mg PO q 4 hours prn moderate pain"];
[_subtypeField setTextAlignment:UITextAlignmentLeft];
[_subtypeField setTextColor:[UIColor colorWithRed:0.494 green:0.647 blue:0.808 alpha:1.0]];
[_subtypeField setOpaque:NO];
[_subtypeField setBackgroundColor:[UIColor clearColor]];
[_subtypeField setUserInteractionEnabled:NO];
[self addSubview:_subtypeField];

将C字符串转换为NSString时可能出现问题?换行符是否仍在NSString中?

答案 1 :(得分:0)

如果要显示的文本是动态文本并且文本视图的宽度是固定的,则可以先根据文本计算文本视图的高度,然后在文本视图中显示该文本。这将自动更改文本视图中的行

我使用过的代码: -

    CGSize labelsize;
    UITextView *commentsTextView = [[UITextView alloc] init];;
    [commentsTextView setBackgroundColor:[UIColor clearColor]];
    NSString *text=@"sample Text";//give your text
    [commentsTextView setFont:[UIFont fontWithName:@"Helvetica"size:14]];
    labelsize=[text sizeWithFont:commentsTextView.font constrainedToSize:CGSizeMake(268, 2000.0)];
    commentsTextView.frame=CGRectMake(10, 24, 268, labelsize.height);
    [self.view addSubview:commentsTextView];
    [commentsTextView release];