UIKitCatalog/UIKitCatalog/ActivityIndicatorViewController.swift

81 lines
3.4 KiB
Swift
Executable file
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
See LICENSE folder for this samples licensing information.
Abstract:
A view controller that demonstrates how to use `UIActivityIndicatorView`.
*/
import UIKit
class ActivityIndicatorViewController: BaseTableViewController {
// Cell identifier for each activity indicator table view cell.
enum ActivityIndicatorKind: String, CaseIterable {
case mediumIndicator
case largeIndicator
case mediumTintedIndicator
case largeTintedIndicator
}
override func viewDidLoad() {
super.viewDidLoad()
testCells.append(contentsOf: [
CaseElement(title: NSLocalizedString("MediumIndicatorTitle", comment: ""),
cellID: ActivityIndicatorKind.mediumIndicator.rawValue,
configHandler: configureMediumActivityIndicatorView),
CaseElement(title: NSLocalizedString("LargeIndicatorTitle", comment: ""),
cellID: ActivityIndicatorKind.largeIndicator.rawValue,
configHandler: configureLargeActivityIndicatorView)
])
if traitCollection.userInterfaceIdiom != .mac {
// Tinted activity indicators available only on iOS.
testCells.append(contentsOf: [
CaseElement(title: NSLocalizedString("MediumTintedIndicatorTitle", comment: ""),
cellID: ActivityIndicatorKind.mediumTintedIndicator.rawValue,
configHandler: configureMediumTintedActivityIndicatorView),
CaseElement(title: NSLocalizedString("LargeTintedIndicatorTitle", comment: ""),
cellID: ActivityIndicatorKind.largeTintedIndicator.rawValue,
configHandler: configureLargeTintedActivityIndicatorView)
])
}
}
// MARK: - Configuration
func configureMediumActivityIndicatorView(_ activityIndicator: UIActivityIndicatorView) {
activityIndicator.style = UIActivityIndicatorView.Style.medium
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
// When the activity is done, be sure to use UIActivityIndicatorView.stopAnimating().
}
func configureLargeActivityIndicatorView(_ activityIndicator: UIActivityIndicatorView) {
activityIndicator.style = UIActivityIndicatorView.Style.large
activityIndicator.hidesWhenStopped = true
activityIndicator.startAnimating()
// When the activity is done, be sure to use UIActivityIndicatorView.stopAnimating().
}
func configureMediumTintedActivityIndicatorView(_ activityIndicator: UIActivityIndicatorView) {
activityIndicator.style = UIActivityIndicatorView.Style.medium
activityIndicator.hidesWhenStopped = true
activityIndicator.color = UIColor.systemPurple
activityIndicator.startAnimating()
// When the activity is done, be sure to use UIActivityIndicatorView.stopAnimating().
}
func configureLargeTintedActivityIndicatorView(_ activityIndicator: UIActivityIndicatorView) {
activityIndicator.style = UIActivityIndicatorView.Style.large
activityIndicator.hidesWhenStopped = true
activityIndicator.color = UIColor.systemPurple
activityIndicator.startAnimating()
// When the activity is done, be sure to use UIActivityIndicatorView.stopAnimating().
}
}