有誰知道如何創建具有UIImage背景的文本字段並進行文字包裝?在iPhone上有圖像背景的環繞文本字段?
似乎在UITextField上無法使用換行符,而UITextView無法使用背景圖像!此外,它應該更改控件的大小或至少提醒更改行數以便代表可以更改其大小。
此類控件的一個示例是SMS應用程序中消息的輸入字段。
編輯:代碼還應該獲取文本字段以始終顯示正在編輯的文本。很顯然,當UITextView在編輯時改變大小時,它會以某種方式失去對當前文本的關注。
謝謝! Aviad。
有誰知道如何創建具有UIImage背景的文本字段並進行文字包裝?在iPhone上有圖像背景的環繞文本字段?
似乎在UITextField上無法使用換行符,而UITextView無法使用背景圖像!此外,它應該更改控件的大小或至少提醒更改行數以便代表可以更改其大小。
此類控件的一個示例是SMS應用程序中消息的輸入字段。
編輯:代碼還應該獲取文本字段以始終顯示正在編輯的文本。很顯然,當UITextView在編輯時改變大小時,它會以某種方式失去對當前文本的關注。
謝謝! Aviad。
單詞換行在UITextField上不可用,因爲UITextField只支持單行文本。
使用UITextView。使textView.backgroundColor = [UIColor clearColor]。首先添加UIImage,然後添加UITextView。確保尺寸是正確的,你應該沒問題。
至於改變的UITextView的大小,在你UITextViewDelegate,做這樣的事情:
- (void)textViewDidChange:(UITextView *)textView
{
NSString *s = textView.text;
CGSize testSize = CGSizeMake(textView.frame.size.width, NSIntegerMax);
CGSize neededSize = [s sizeWithFont: textView.font constrainedToSize: testSize lineBreakMode: UILineBreakModeWordWrap]; // or UILineBreakModeCharacterWrap?
if (neededSize.height > testSize.height)
{
// grow textView
textView.frame = CGRectMake(textView.frame.origin.x, textView.frame.origin.y, neededSize.width, neededSize.height);
// then adjust the image size -- something like this
imageView.frame = textView.frame
}
}
最後,我寫我自己的代碼,它工作在一定程度上有很多解決方法(改變焦點例如,在再次刪除所有文本時調整大小等)。如果任何人有興趣,我會發布代碼。
在其他消息,就在今天,我在這裏看到了一個不同的問題,這裏叫做IFVerticallyExpandingTextField
。這個名字很有希望,代碼在這裏,我會看看。任何有類似問題的人,您可能也想看到這一點。
我的錯誤,我沒有仔細閱讀:IFVerticallyExpandingTextField
是爲Mac,而不是iPhone。
正如我所說的,我想要一個類似於iPhone應用程序中SMS應用程序的行爲。當文本需要包裝時,整個組件需要增長(包括圖像,可能使用UIImage的stretchImage消息)。 – 2009-08-01 15:44:47