Saya perhatikan bahwa beberapa aplikasi seperti Safari dan Mail menampilkan indikator pemuatan di bilah status (bilah di bagian paling atas ponsel) saat mereka mengakses jaringan. Apakah ada cara untuk melakukan hal yang sama di aplikasi SDK, atau apakah ini hanya untuk Apple?
ios
cocoa-touch
karatyshelf
sumber
sumber
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];
// sebagai satu linerUIApplication.sharedApplication().networkActivityIndicatorVisible = true
Saya telah menemukan makro berikut cukup berguna!
Jadi Anda bisa memanggil
ShowNetworkActivityIndicator();
atauHideNetworkActivityIndicator();
dari dalam aplikasi Anda (selama header disertakan tentunya!).sumber
Saya menulis singleton yang memecahkan masalah beberapa koneksi dengan menyimpan penghitung dari apa yang terjadi (untuk menghindari penghapusan status ketika koneksi kembali tetapi yang lain masih aktif):
File header:
dan implementasi:
Contoh:
sumber
Kode baris tunggal untuk melakukan itu:
sumber
Anda harus berhati-hati dalam menyembunyikan indikator aktivitas setelah panggilan jaringan Anda selesai.
Jika Anda menggunakan
AFNetworking
, maka Anda tidak perlu berbuat banyak.Lakukan perubahan berikut di
AppDelegate
Kelas:Impor
AFNetworking/AFNetworkActivityIndicatorManager.h
Masukkan ini
didFinishLaunchingWithOptions:
[[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES]
sumber
Indikator aktivitas jaringan bilah status sudah tidak digunakan lagi di iOS 13 .
Penggunaan
UIApplication.shared.isNetworkActivityIndicatorVisible = true
tidak akan berfungsi lagi.Pesan penghentian mengatakan:
sumber
Mungkin juga berguna untuk memastikan Anda menjalankannya di thread utama karena terkait dengan UI.
sumber
Seperti yang dikatakan banyak orang, tidak ada indikator aktivitas jaringan untuk iPhone X dan mungkin untuk iPhone baru lainnya dengan takik.
Saya menemukan perpustakaan luar biasa ini yang ditulis oleh Ortwin Gentz, FutureTap: https://github.com/futuretap/FTLinearActivityIndicator
Ini menempatkan indikator tepat di belakang ketika iPhone X pertama kali dirilis, banyak yang akan mengingat jenis indikator Knight Rider.
Pustaka ini tersedia untuk Swift 4.2, jadi Anda perlu mengubah pengaturan Bahasa Swift, seperti yang dijelaskan di sini: Ketik 'NSAttributedStringKey' (alias 'NSString') tidak memiliki 'font' anggota
sumber