Monday, May 5, 2014

iOS/xCode: Membuat top text alignment pada UILabel

Defaultnya UILabel pada iOS vertical allignment-nya adalah middle atau di tengah-tengah. Lalu bagaimana caranya supaya text kita berada pada posisi puncak atau top dari UILabel? Untuk horizontal allignment, kita bisa menggunakan method label.textAlignment kemudian tinggal kita set nilainya NSTextAlignmentLeft jika ingin horizontal allignmentnya left atau NSTextAlignmentRight jika ingin kanan, dan NSTextAlignmentCenter jika ingin ditengah. Kemudahan ini tidak akan anda dapatkan jika ingin mensetting vertical alligntment nya. Namun jangan kawatir, pendekatan trik di bawah ini bisa mendapatkan hasil sesuai yang kita inginkan yaitu vertical allignment dari UILabel berada pada puncak atau top.



Berikut adalah code untuk mendapatkan top vertical allignment pada UIlabel.

 
UILabel *lb = [[UILabel alloc] initWithFrame:CGRectMake(10+13+10, 10+15, 300, 60)];
[lb setTextColor:[UIColor blackColor]];
[lb setBackgroundColor:[UIColor yellowColor]];
[lb setFont:[UIFont fontWithName: @"Trebuchet MS" size: 11.0f]];
[lb setText:@"Wisma Garuda Food 1 jl. bintaro raya no 10 A jakarta 122402"];
lb.textAlignment = NSTextAlignmentLeft;
[lb setNumberOfLines:0];
[lb sizeToFit];
[cell addSubview:lb];

Dengan code di atas maka hasil yang anda dapatkan adalah seperti pada scerenshot berikut ini.

ios xcode vertical alignment top

 

Nah label dengan background kuning itulah hasilnya. Beberapa hal yang perlu anda perhatikan pada code di atas adalah method sizeToFit, method ini untuk menjadikan text anda berada pada top position. Kemudian untuk bisa menggunakan method sizeToFit anda harus memanggil method textAlignment terlebih dahulu. Selanjutnya text harus sudah anda set sebelum anda memanggil dua method di atas. Dari hasil coba-coba saya text tidak akan muncul jika di set pada bagian akhir setelah memanggil method sizeToFit.

Selamat mencoba.

No comments:

Post a Comment