2013-10-30 16 views
10

UIPickerView ile bir uygulamanız var. Ben çok değil It iOS 7'de iOS 6'da ince görünüyordu yöntemleiOS7'de bozuk özel görünümler içeren UIPickerView

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view 

ile özel bir görünüm iade ediyorum - Ekran aşağıda vurdu.

Odaklanmayan hücrelerde ikinci ve üçüncü sütunların üst üste geldiğine dikkat edin. Merkezi satır doğrudur.

Herhangi bir öneriniz var mı?

enter image description here

+0

gibi bir demo oluşturduk. Test için bir tane oluşturdum. Ama her şey yolunda. Örnek http://snipt.org/BaIi0/Default. –

cevap

7

garip bir nedenden dolayı, herhangi bir sütun genişliği seçici görünümün genişliğinin daha yüksek 1/3 düzen sonları ise görünüyor. Dolayısıyla, 320 piksel genişliğinde bir seçici görünümünüz varsa, 106 veya daha az çalışıyor, ancak 2,3,4 ... bileşenleriniz varsa, 107 veya üstü yanlıştır. Gerçekten garip.

+0

Şimdiye kadar gördüğüm tek çözüm, ilk bileşenin genişliğini artırmak ve diğerlerinin genişliğini iOS 7'de azaltmaktır. – imihaly

+0

Teşekkürler! Hala bugünlerde oluyor. – Frade

1

imihaly daha önceki yazısında da belirttiği gibi, bu sadece LAST bileşeninin widthForComponent değerinin 106 pikselden fazla olması durumunda gerçekleşir. Diğer bileşenler 106'nın üzerinde bir değer döndürür ve iyi görünecektir. Ayrıca, widthForComponent tarafından döndürülen değerden daha küçük bir görünüm döndürürseniz, görünümü ortalayacak, ancak solda yaklaşık 10 piksel olacak şekilde kaydırılacaktır.

0

Benzer bir sorun yaşadım, ancak bunun yerine basit numaralar görüntülüyordum. Bakınız my similar question. Kısa cevap, bileşenleri farklı UIPickerView'lere ayırmam gerektiğidir.