2012-07-03 3 views
4

UITextField의 테두리를 동적으로 제거하려고합니다. 동적으로 UITextField의 테두리를 제거 할 수 없습니다.

나는

[stringTextField setBorderStyle:UITextBorderStyleNone]; 을 시도했지만 아무 일도하지 않습니다. 어떤 생각?

+0

확인이 스레드에 http :

[textField setEnabled:NO]; [textField setBorderStyle:UITextBorderStyleNone]; 

이되지 않는 동안은 (경계가보기에 남아) // stackoverflow.com/questions/5789816/how-to-set-border-style-of-a-uitextfield – Ekram

+0

전화를 걸 때 주 스레드에 있지 않을 가능성이 있습니까? 네트워크 콜백이나 다른 비동기 메서드 인 경우에는'dispatch_async()'를 메인 큐에 써야합니다. –

답변

4

이 경우에는 TextField이 이미보기에 표시되어 있습니까? 그렇다면, 당신은 (아마도) 다음 실행해야합니다

[stringTextField setBorderStyle:UITextBorderStyleNone]; 
[stringTextField setNeedsDisplay]; 

위해 TextField, 산세 국경을 다시 그릴 수있는보기를. 시스템이 즉시 textField을 다시 그리도록 보장 할 수는 없습니다. 필드에 다시 그려야한다는 것을 시스템에 알리고 있습니다.

+0

나는 당신이 말한 것을했습니다. 만약 내가 UITextBorderStyleRoundedRect 할 괜찮습니다. 하지만 UITextBorderStyleNone을 작성하면 아무 일도 일어나지 않습니다. – Burak

+0

사실 UITextBorderStyleRoundedRect에 대해서는 setNeedsDisplay가 필요 없습니다. – Burak

3

시도해보십시오. 이 일 것을 내가 발견 기존의 UITextField와

textField.borderStyle = UITextBorderStyleRoundedRect; 
textField.borderStyle = UITextBorderStyleNone; 
+0

예 대답이 해결되었습니다! – user3236289

3

:

[textField setBorderStyle:UITextBorderStyleNone]; 
[textField setEnabled:NO]; 
+0

좋은 일을하기 전에 45 분을 보냈습니다. 기묘한. – nickdnk

관련 문제