2016-07-08 47 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

那很好:-) –

相关问题