2011-11-02 19 views
8

Uygulamamda arka plan görüntüsünün üstünde bir UITextField var. IOS 4'ün altında, doğru görünmesini sağlamak için backgroundColor özelliğini 'clearColor' olarak ayarladım. iOS 4 textfield şöyle ...UITextField arka plan davranış değişikliği iOS 4'ten iOS 5'e geçiş

enter image description here

Altında Bu ben bakmak istiyorum nasıl. Ben Şimdi, Xcode 4.3 (iOS 5) yükselterek beri aynı projeyi yeniden çalıştırın, kutu ... böyle

enter image description here

Grrr görünüyor. Yani iOS 5 altında backgroundColor özelliğini 'whiteColor' olarak değiştirdim ve iyi çalışıyor. iOS kutusunu 4.x altında Ancak şimdi, ... şöyle

enter image description here

Not çirkin beyaz köşeler! Bu yüzden, lütfen iOS 4 ve iOS 5'in altında normal görünmesini sağlamak için burada ne yapmam gerektiğini söyleyin (örn. İlk resme benzemek için!).

Çok teşekkürler, Simon

+2

Güncelleştirilmiş SDK ile yeniden mi yaptınız? – BoltClock

+1

Sadece bilmek için .. import QuartzCore ve textField.layer.backgroundColor = [UIColor clearColor] .CGColor ayarlayarak deneyin? ? – Mat

+1

Burada neler olduğu hakkında bir fikir yok - ama şimdi çalışıyor. Ben backgroundColor özelliği ayarlamak için çizgiyi kaldırıldı ve her ikisi de 4 ve 5 iyi görünüyor. – Simon

cevap

3

Aynı problemi birkaç gün önce aldım. Bunu çözmek için borderStyle'ı ayarlıyorum ve backgroundColor satırına yorum yapıyorum. Her şey iyi çalışıyor, hem iOS4 hem de iOS5.

// textField.backgroundColor = [UIColor clearColor]; // just leave it, dont't set 
textField.borderStyle = UITextBorderStyleRoundedRect; 
+0

Bunu doğru olarak işaretledim, çünkü bunun benim için de ne düzelttiğine eminim, fakat tüm dürüstlükte belirsiz bir konu olduğundan% 100 olamaz. – Simon

+0

Bu benim için de doğru cevaptı. Bu tek değişikliği yaptım ve sorunum çözüldü, tüm testlerde iOS 4.3'ten 5.1'e kadar. (Projemdeki sorun orijinal yazıya tam olarak açıklandı.) – Douglas

1

Bazen projenizi yeniden gerekebilir. Ayrıca, bunu Xcode için yeni bir değişiklik olup olmadığını görmek için tamamen yeni bir projede bulunmayı deneyin ya da yalnızca belirli bir projeyi aşağı daraltmak için projeniz varsa. Daha sonra, belirli bir projenizde yanlış bir şey olarak izole ederseniz, o zaman tıklayıp tıklamadığını görmek için "bunu yap" seçeneğini deneyin. Bu i, cihazda çalışan iOS sürümünü kontrol ve bu

float version = [[[UIDevice currentDevice]systemVersion]floatValue]; 
if(version < 5.0) 
{ 
//user clear color 
}else 
{ 
//use white color 
} 

Hope gibi, buna göre işleme yapabilir bu sorunu çözmek için ne yaptığını =)

2

: Ama bunu çözmüş bkz Bu size yardımcı olur.

İlgili konular