Iphone 我在滚动视图上使用UITextView…我希望在其中写入内容时它能够自动展开。。。。。。

Iphone 我在滚动视图上使用UITextView…我希望在其中写入内容时它能够自动展开。。。。。。,iphone,Iphone,随着内容的增加,我想增加文本字段的大小 此代码不适用于我 感谢GrowingTextView是一款可重复使用的iOS组件,完全满足您的需要,您可以在GitHub上找到它 我希望这能有所帮助。您需要将代码分成两个片段,然后将它们放在适当的位置,然后代码就可以工作了 片段1(在我的测试中,我将此片段放在viewDidLoad中): 确保上面的片段运行,并且您的文本视图显示在屏幕上,然后运行第二个片段。如果文本视图未显示在屏幕中,则contentView未初始化,高度未定义 片段2(在我的测试中,我将

随着内容的增加,我想增加文本字段的大小

此代码不适用于我


感谢

GrowingTextView是一款可重复使用的iOS组件,完全满足您的需要,您可以在GitHub上找到它


我希望这能有所帮助。

您需要将代码分成两个片段,然后将它们放在适当的位置,然后代码就可以工作了

片段1(在我的测试中,我将此片段放在viewDidLoad中):

确保上面的片段运行,并且您的文本视图显示在屏幕上,然后运行第二个片段。如果文本视图未显示在屏幕中,则contentView未初始化,高度未定义

片段2(在我的测试中,我将此片段放在
viewDidAppear
)中:


祝你好运

显示不可编辑的文本不需要使用
UITextView
。除此之外,您还可以使用UILabel,并可以在运行时找到标签的高度。每次内容在
UILabel
的大小设置框中发生相应变化时

使用此选项可以在运行时找出标签的高度

CGRect frame = textViewBusiness.frame;
frame.size.height = textViewBusiness.contentSize.height;
textViewBusiness.frame = frame;
此方法每次都会返回可变高度的内容

现在将此高度设置为您的
UILabel

- (CGFloat) heightOfTextLabel:(NSString *) contentText
{
    CGSize constraint = CGSizeMake(268,4000);

    CGSize size = [contentText sizeWithFont:[UIFont fontWithName:@"Arial" size: 17.0] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

     return size.height;       
}
CGRect frame = textViewBusiness.frame;
frame.size.height = textViewBusiness.contentSize.height;
textViewBusiness.frame = frame;
- (CGFloat) heightOfTextLabel:(NSString *) contentText
{
    CGSize constraint = CGSizeMake(268,4000);

    CGSize size = [contentText sizeWithFont:[UIFont fontWithName:@"Arial" size: 17.0] constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];

     return size.height;       
}
CGFloat heightOfLabel = [self heightOfTextLabel:strMyBusiness];

UILabel* textToShowLabel = [[UILabel alloc] initWithFrame:CGRectMake(25,332,268,heightOfLabel)];

textToShowLabel.text=strMyBusiness;

textToShowLabel.font = [UIFont fontWithName:@"Arial" size: 17.0];

textToShowLabel.layer.borderWidth = 2.0f;

textToShowLabel.layer.borderColor = [[UIColor grayColor] CGColor];

textToShowLabel.backgroundColor = [UIColor clearColor];

[textToShowLabel setTextColor:[UIColor blackColor]];

[self.scrollView addSubview: textToShowLabel];