2016-07-08 75 views
1

我有一個問題,我會在我的iOS應用程序中多個UITextField,但由於這是不可能的,我使用可編輯UITextView,我設置了我的「佔位符」和我的屬性,這是代碼:UITextView像iOS郵件應用程序一樣增加高度

- (BOOL)textViewShouldBeginEditing:(UITextView *)textView 
{ 
    NSString *presentText = self.textFieldObject.text; 

    if (![presentText isEqualToString:@"Message..."] && presentText != nil) 
    { 
     self.textFieldObject.textColor = [UIColor blackColor]; 
    } 
    else 
    { 
     self.textFieldObject.text = @""; 
     self.textFieldObject.textColor = [UIColor blackColor]; 
    } 
    return YES; 
} 

-(void)textViewDidChange:(UITextView *)textView 
{ 

    if(self.textFieldObject.text.length == 0) 
    { 
     self.textFieldObject.textColor = [UIColor colorWithRed:215.0/255.0 green:215.0/255.0 blue:215.0/255.0 alpha:1.0]; 
     self.textFieldObject.text = @"Message..."; 
     [self.textFieldObject resignFirstResponder]; 
    } 
} 

我願意UITextView增加其HIGHT當我寫更像iOS郵件應用或Facebook發佈的文字。 在UITextView之下和之上有任何物體,因此它們在高度增加時應該移動。我該如何解決這個問題?

非常感謝。

+0

。 –

回答

1

首先,禁用UITextView的可滾動功能。

兩個選項:

  1. 取消選中選換中啓用的.xib。

  2. [TextView setScrollEnabled:NO];

創建一個UITextView並將其與IBOutlet(TextView)連接。 添加默認高度的虛擬UITextView高度約束,將其與IBOutlet(TextViewHeightConstraint)連接。 當你異步設置你的UITextView文本時,你應該計算UITextView的高度並設置UITextView的高度約束。

示例代碼段:

[TextView setText:song.lyrics]; 

CGSize sizeThatFitsTextView = [TextView  sizeThatFits:CGSizeMake(TextView.frame.size.width, MAXFLOAT)]; 

TextViewHeightConstraint.constant = sizeThatFitsTextView.height; 
如果你想增加高度,只是改變的TextView的框架或使用自動佈局
+0

完美作品....謝謝 – pampua84

+0

那很好:-) –

相關問題