2014-02-28 62 views
1

我有一個關於調整UITextView大小的問題。我有一個位於UIView容器內的textview。當應用程序啓動時,容器僅顯示工具欄,當用戶點擊它時,textview的UIView將作爲容器的子視圖添加並顯示文本。當用戶再次點擊工具欄時,UITextView的視圖將從其超級視圖(容器)中移除,依此類推。 每當我需要調整我的文本視圖時,我使用下面的代碼計算它的維度並記錄下它的值,它們是正確的。UITextView調整大小 - 從橫向切割成縱向的大文本

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有正確的維度中的特定情況。

這裏是我執行的步驟:

  1. 我lanscape打開應用程序,我可以看到工具欄。
  2. 我點擊工具欄,我計算textview的大小,並將其添加爲容器的子視圖,然後調整它的大小。 (這裏的尺寸是 吧)。
  3. 我旋轉設備,textview調整大小(尺寸爲 右) - 風景!
  4. 我再次點擊工具欄關閉容器。我從容器中刪除 UITextView,然後調整它的大小。
  5. 我再次點擊工具欄。 textview作爲 容器的子視圖添加,並具有正確的尺寸(橫向)。
  6. 我在PORTRAIT中旋轉設備。 textview尺寸爲 正確計算,但文本結果中斷。

我該如何解決我的情況?

非常感謝!

Ciao !!

回答

0
//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; 
+0

謝謝mohitpopat,我已經嘗試過你的實施,但不幸的是,我的工作。 textview的寬度總是正確的。只有一種情況是textview不能正確顯示文本並將其剪下 – user3274912

相關問題