2010-09-10 19 views
8

UITextBorderStyleRoundedRect kenarlıklı UITextField varsayılan yüksekliği 31 pikseldir. Bir iPad Uygulaması için, 60px'lik bir yüksekliğe sahip bir UITextField oluşturmak ve metni dikey olarak ortalanacak şekilde konumlandırıp iyi görünecek şekilde yerleştirmek istiyorum (varsayılan olarak metin UITextField'ın en üst sınırının altında yalnızca birkaç piksel olarak çizilir).UITextField: Dikey olarak ortalanmış giriş metnini konumlandırın ve konumlandırın

i aşağıdaki yoksa ...

UITextField *txtLogin = [[UITextField alloc] initWithFrame:CGRectMake(200,200,300,60)]; 
txtLogin.borderStyle = UITextBorderStyleRoundedRect; 

... Sonuç şuna benzer: Gördüğünüz gibi http://grab.by/6jRc

, giriş metni dikey değildir. Bir çözüm bulmaya çalıştım ve UITextField'dan kendi özel sınıfımı miras almam ve - (CGRect)textRectForBounds:(CGRect)bounds yöntemini geçersiz kılmam gerektiğini öğrendim. Ancak, bu yöntem hiçbir zaman denir ve this link göre Apple'ın API'sinde bir hata var. Bu yüzden işe yarayan alternatifleri arıyorum.

Bu sorunu çözmek ve giriş metni için doğru dikey hizalamayı elde etmek için iyi bir çözüm ne olurdu?

cevap

21

[txtLogin setContentVerticalAlignment: UIControlContentVerticalAlignmentCenter];

+0

teşekkürler, bu benim için çalıştı. – kiteloop

İlgili konular