Bagaimana Anda mengubah teks tombol dan menonaktifkan tombol di iOS?
107
Hai Namratha, Jika Anda bertanya tentang mengubah teks dan status aktif / nonaktif dari UIButton, hal itu dapat dilakukan dengan mudah seperti berikut;
[myButton setTitle:@"Normal State Title" forState:UIControlStateNormal]; // To set the title
[myButton setEnabled:NO]; // To toggle enabled / disabled
Jika Anda telah membuat tombol di Interface Builder dan ingin mengaksesnya dalam kode, Anda dapat memanfaatkan fakta bahwa tombol tersebut diteruskan sebagai argumen ke IBAction
panggilan:
- (IBAction) triggerActionWithSender: (id) sender;
Ini bisa terikat ke tombol dan Anda akan mendapatkan tombol dalam sender
argumen saat tindakan dipicu. Jika itu tidak cukup (karena Anda perlu mengakses tombol di tempat lain selain di tindakan), nyatakan outlet untuk tombol:
@property(retain) IBOutlet UIButton *someButton;
Kemudian dimungkinkan untuk mengikat tombol di IB ke pengontrol, kode pemuatan NIB akan mengatur nilai properti saat memuat antarmuka.
Gunakan
UIControlStateNormal
untuk menyetel judul Anda.Ada beberapa status yang disediakan UIbuttons, Anda dapat melihat-lihat:
sumber
Jika seseorang, yang mencari solusi di Swift, mendarat di sini, itu adalah:
Dokumentasi: isEnabled , setTitle .
Kode lama:
sumber
Dengan asumsi bahwa tombol tersebut adalah
UIButton
:Lihat dokumentasi untuk
UIButton
.sumber
Untuk Mengubah Judul Tombol:
Untuk Nonaktifkan:
sumber
Di Swift 3, Anda cukup mengubah judul tombol dengan:
dan Anda menonaktifkan tombol dengan:
.normal
sama sepertiUIControlState.normal
karena jenisnya disimpulkan.sumber
SWIFT 4 dengan ekstensi
set:
dan gunakan:
sumber
Jika Anda ingin mengubah judul sebagai respons untuk diketuk, Anda dapat mencoba ini di dalam metode IBAction tombol di delegasi pengontrol tampilan Anda. Ini mengaktifkan dan menonaktifkan obrolan suara. Menyiapkan obrolan suara tidak tercakup di sini!
}
voiceChat tentu saja dikhususkan untuk obrolan suara, tetapi Anda dapat menggunakan properti boolean lokal untuk mengontrol sakelar.
sumber