Ios UITextView Resize-从横向剪切到纵向的大文本

Ios UITextView Resize-从横向剪切到纵向的大文本,ios,objective-c,uitextview,Ios,Objective C,Uitextview,我有一个关于调整UITextView大小的问题。我有一个位于UIView容器中的文本视图。当应用程序启动时,容器仅显示工具栏,当用户点击工具栏时,文本视图的UIView将添加为容器的子视图,并显示文本。当用户再次点击工具栏时,UITextView的视图将从其超级视图(容器)中删除,依此类推。 每次我需要调整textview的大小时,我都会使用以下代码计算它的尺寸并记录值,它们是正确的 CGSize size = [stringToUse sizeWithFont:[self.synthes

我有一个关于调整
UITextView
大小的问题。我有一个位于
UIView
容器中的文本视图。当应用程序启动时,容器仅显示工具栏,当用户点击工具栏时,文本视图的
UIView
将添加为容器的子视图,并显示文本。当用户再次点击工具栏时,
UITextView
的视图将从其超级视图(容器)中删除,依此类推。 每次我需要调整textview的大小时,我都会使用以下代码计算它的尺寸并记录值,它们是正确的

  CGSize size = [stringToUse  sizeWithFont:[self.synthesisTextView font]
                        constrainedToSize:CGSizeMake(synthesisTextViewBounds.size.width, FLT_MAX)
                        lineBreakMode:NSLineBreakByWordWrapping];

    [self.synthesisTextView setScrollEnabled:YES];

    [self.synthesisTextView setContentSize:CGSizeMake(synthesisTextViewBounds.size.width,
                                                      size.height + 50)];

    [self.synthesisTextView setFrame:CGRectMake(synthesisTextViewFrame.origin.x,
                                                synthesisTextViewFrame.origin.y,
                                                synthesisTextViewBounds.size.width,
                                                size.height + 50)];

    [self.synthesisLabel setFrame:CGRectMake(self.synthesisLabel.frame.origin.x,
                                             self.synthesisLabel.frame.origin.y,
                                             self.synthesisLabel.frame.size.width,
                                             size.height + 50)];
在特定情况下,即使
UITextView
的维度正确,文本也会被截断

以下是我执行的步骤:

  • 我在lanscape中打开应用程序,可以看到工具栏
  • 我点击工具栏,计算文本视图的大小,并将其添加为 容器的子视图,然后调整其大小。(这是尺寸 对)
  • 旋转设备时,文本视图的大小将调整(尺寸为 右)-风景
  • 我再次点击工具栏以关闭容器。我删除了
    UITextView
    ,然后调整其大小
  • 我再次点击工具栏。textview被添加为的子视图 容器并具有正确的尺寸(横向)
  • 我以纵向旋转设备。textview维度是 计算正确,但文本结果被截断
  • 我怎样才能解决我的处境

    非常感谢


    再见

    谢谢mohitpopat,我已经尝试了您的实现,但不幸的是,它确实和我的一样有效。文本视图的宽度始终正确。只有在一种情况下,textview不能正确显示文本并进行剪切
    //textView Height as per content
    
    CGRect frame = viewNote.frame;
    NSLog(@"Text Size height : %f",frame.size.height);
    
    CGSize textViewSize;
    if (isIPhone) {
        textViewSize = [viewNote.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:20]
                                        constrainedToSize:CGSizeMake(309, 10000)
                                            lineBreakMode:UILineBreakModeTailTruncation];
    }else{
        textViewSize = [viewNote.text sizeWithFont:[UIFont fontWithName:@"Helvetica" size:30]
                                        constrainedToSize:CGSizeMake(768, 10000)
                                            lineBreakMode:UILineBreakModeTailTruncation];
    }
    
    frame.size.height = textViewSize.height;
    viewNote.frame = frame;