gpt4 book ai didi

ios - 如何在 UITableViewController 中显示 UIActivityIndi​​catorView?

转载 作者:行者123 更新时间:2023-11-30 12:04:24 24 4
gpt4 key购买 nike

我是 iOS 开发初学者,我有一个关于如何显示 UIActivityIndi​​catorView 的问题。

这是我的结构:

我有一个 UITabBarController 作为 root VC。在第一个指南的 TabBarController 里面我有一个 UITableViewController在 TableView 内部,我做了一个 REST 申请(目前是一个假申请)。

我想要什么?

当我启动应用程序时,TableView 将被加载并完成申请。在提出申请时,我想显示 UIActivityIndi​​catorView。

我的问题是显示这个 ActivityIndi​​catorView :(

我的代码

MainViewController(根 VC)

import UIKit

class MainViewController: UITabBarController {

override func viewDidLoad() {
super.viewDidLoad()

setupTabBarItems()
}

private func setupTabBarItems() {

let items: [String] = ["Home", "Carrinho", "Categorias", "Conta"]

let homeVC = HomeTableViewController()
let carrinhoVC = UIViewController()
let categoriasVC = UIViewController()
let contaVC = UIViewController()

let tabBarList = [homeVC, carrinhoVC, categoriasVC, contaVC]

for i in 0..<4 {
tabBarList[i].tabBarItem = UITabBarItem(title: items[i], image: UIImage(named: items[i]), selectedImage: UIImage(named: items[i]))
}

viewControllers = tabBarList
}
}

HomeTableViewController(表格 View )

import UIKit

class HomeTableViewController: UITableViewController {

let progressView: UIActivityIndicatorView = {
let p = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.whiteLarge)
p.backgroundColor = .black
p.translatesAutoresizingMaskIntoConstraints = false
p.startAnimating()
return p
}()

override func viewDidLoad() {
super.viewDidLoad()
// **the method is called here**
setupIndicatorView()
/* others methods */
}

private func setupIndicatorView() {
guard let window = UIApplication.shared.keyWindow else {return}

window.addSubview(progressView)
window.bringSubview(toFront: progressView)

// function to add constraints (is an extension of UIView)
window.constraint(pattern: "H:|[v0]|", views: progressView)
window.constraint(pattern: "V:|[v0]|", views: progressView)

}
/* other methods */

有什么建议吗?

最佳答案

直接将progressView添加到tableView中:

private func setupIndicatorView() {
self.view.addSubview(progressView)
progressView.center = self.view.center // or instead use autolayout if you prefer it
}

关于ios - 如何在 UITableViewController 中显示 UIActivityIndi​​catorView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com