Sepertinya UITextAlignmentCenter
sudah tidak digunakan lagi di iOS 6.
Saya masih menggunakannya dan berfungsi dengan baik, tetapi memberi peringatan.
Bagaimana saya bisa memperbaikinya?
label.textAlignment = UITextAlignmentCenter;
Terima kasih.
NSTextAlignment
.Jawaban:
Di iOS6 Anda bisa menggunakan
Semoga ini membantu.
sumber
Perubahan
labelAlignment
properti mungkin terkait dengan pengenalan NSAttributedStrings dari Apple ke lebih banyak kontrol iOS, dan oleh karena itu perlu mengubah properti UIText… menjadi NSText… properti.Jadi, jika Anda meningkatkan ke iOS6, Anda sedang dalam semanggi; hanya beralih dari
UITextAlignmentCenter
keNSTextAlignmentCenter
dan menikmati string baru yang mewah.Tetapi jika Anda bekerja dengan proyek yang kompleks dan lebih suka bumi tidak terlalu bergerak, Anda mungkin ingin tetap menggunakan versi yang lebih lama untuk sementara waktu, dan mengadaptasi kode Anda untuk beberapa versi, seperti ini:
Pendekatan di atas bekerja untuk metode baru ; Anda mendapatkan peringatan tetapi semuanya berjalan dengan baik. Tetapi ketika kompiler melihat konstanta yang tidak diketahuinya, ia berubah merah dan berhenti di jalurnya. Tidak ada cara untuk menyelinap
NSTextAlignmentCenter
melewatinya. (Yah, mungkin ada cara untuk menyesuaikan perilaku kompiler di sini, tetapi tampaknya tidak disarankan.)Solusinya adalah menambahkan beberapa definisi preprocessor bersyarat. Jika Anda meletakkan sesuatu seperti ini di file h kelas Anda (atau mungkin dalam file konstanta yang diimpor - yang harus dengan sendirinya disertakan
#import <UIKit/UIKit.h>
agar pernah tahu tentang NSText ... konstanta) ...…kamu bisa melakukan ini:
Dan ini:
Dll
Karena perubahan UIText / NSText ini cenderung muncul untuk beberapa kontrol, pendekatan ini cukup berguna.
(Peringatan: Menjadi anggota pecinta mapan di bumi yang disebutkan di atas, saya telah menguji ini dengan versi lama, tetapi belum dengan iOS6.)
sumber
NSTextAlignmentCenter
dapat digunakan di tempatUITextAlignmentCenter
dan daftar penggantian lainnya di bawah ini:sumber
sumber
Anda tidak harus melakukan keduanya. Xcode 4.5 akan mengkompilasi
NSTextAlignmentCenter
, dll denda di iOS 5.sumber
sumber
sumber
Saya memiliki masalah serupa dan menggunakan yang berikut ini: detailsLabel.textAlignment = NSTextAlignmentCenter;
sumber
di iOS 6 atau lebih tinggi
gunakan nilai ini:
self.lbl_age.textAlignment=NSTextAlignmentCenter;
sumber
Swift 3:
sumber