2012-10-19 42 views
6

改變的UITextField邊框我想強調,當一個用戶正在編輯它的UITextField,所以我把我的文本框的邊框默認UITextBorderStyleNone並使用uitextfields代表如下:在didEndEditing

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    [textField setBorderStyle:UITextBorderStyleBezel]; 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [textField setBorderStyle:UITextBorderStyleNone]; 
} 

擋板風格被設置並呈現,但是當調用了結尾部分時,沒有應用任何樣式。 我試着改變沒有到另一個(比如圓角矩形),但是那個渲染是正確的。

有沒有人知道我能如何讓這個工作?

+0

你有解決這個問題的辦法嗎?如果是,然後plz分享我.. –

+0

沒有對不起,我把它報告給蘋果作爲一個錯誤,它似乎是一個有效的bug ... – Myth1c

回答

10

是的,這是一個錯誤。無論如何,我已經使用這個代碼解決:

textField.borderStyle = UITextBorderStyleLine; 
textField.borderStyle = UITextBorderStyleNone; 

這不是一個非常美麗的方法,但它的工作,直到蘋果修復了這個問題。

+1

我們如何找出蘋果何時或如果解決這個問題? – JohnnyRedTruss

2

我也有這個問題。從我的測試中看來,我可以將其設置爲除UITextBorderStyleNone之外的任何其他樣式。

這至少對我來說是禁用和重新啓用文本框,如下圖所示工作的一種解決方法:

- (void)textFieldDidEndEditing:(UITextField *)textField { 
    textField.enabled = NO; 
    textField.borderStyle = UITextBorderStyleNone; 
    textField.enabled = YES; 
} 

我真的不喜歡它,但它適用於現在。

+0

5年過去了,仍然是一個問題。 – Jalakoo