2009-09-29 47 views
3

一個非常簡單的問題,但我找不到解決方案。我如何實現在輸入時增加高度的UITextfield?這將是您在iPhone的本機短信應用發送欄中看到的控制類型。當你按新行時,控件的高度會增加。如何在輸入時增加高度的UITextfield?

回答

4

在您的UITextViewDelegate執行textViewDidChange:您需要計算特定寬度的文本大小並進行相應調整。

-(void)textViewDidChange:(UITextView *)textView 
{ 
    NSString *text = [textView text]; 
    NSFont *font = [textView font]; 
    CGFloat width = [textView frame].size.width; 

    CGSize size = [text sizeWithFont:font constrainedToSize:CGSizeMake(width, 9999) lineBreakMode:UILineBreakModeWordWrap]; 

    /* Adjust text view width with "size.height" */ 
} 
+1

這個問題是否與UITextField一樣工作? – 2014-10-09 23:42:57

1

我會使用UITextView來代替。無論哪種情況,您都可以使用TextDidChange通知(稱爲在IB中更改編輯)來檢查文本的大小並相應地更新高度。