我是Swift的初学者,我的活动指示器有问题。我一直在使用NVActivityIndicatorView,直到现在我都没有任何问题。我有一个LoginViewController,一旦用户成功登录,它就会定向到另一个名为ContainerViewController的视图控制器。
LoginViewController:
self.networkManager.getConfig(url: url) { (success, message, response) in
self.stopAnimating()
if success {
print(response)
if (response[APIKey.error] == nil){
StoreManager.mainview = Definition(definitionDict: response[APIKey.definition] as! NSDictionary)
let logoutContextMenu = ContextMenu()
logoutContextMenu.displayName = Constants.logout
logoutContextMenu.viewName = Constants.logout
StoreManager.mainview.contextmenu.append(logoutContextMenu)
Endpoints.org = StoreManager.mainview.org
self.performSegue(withIdentifier: Constants.containerViewController , sender: self)
}
else{
self.authenticate()
}
}else{
print(message)
self.showToast(message: Constants.commonErrorMessage)
}
}
我的问题是,一旦完成查找,在加载API时,我在ContainerViewController中拥有的activityindicator不会显示。只有在用户登录后才会发生这种情况。
在ContainerViewController中,我在viewWillLoad中有一个名为setupUI的函数,它将调用另一个名为viewConfig的函数。在viewConfig函数内部是活动指示器,该活动指示器将在每次加载API时开始进行动画处理。
ContainerViewController:
override func viewDidLoad() {
super.viewDidLoad()
self.setUpUI()
}
func setUpUI(){
switch StoreManager.mainview.menuLayout.mobile {
case Constants.dashboardmenu:
setUpSideBarMenu()
if (otherViewNameSelected){
print(selectedViewName)
if selectedViewName == ""{
selectedViewName = StoreManager.mainview.solutions[0].views[0].viewName
}
self.getViewConfig(solutionName: StoreManager.mainview.solutions[0].solutionName, viewName: selectedViewName)
}
break
default:
self.navigationItem.leftBarButtonItem = nil
break
}
}
func getViewConfig(){
let url: String = Endpoints.view + Endpoints.version + Endpoints.org + "/" + solutionName + "/" + Endpoints.views + viewName + Endpoints.token
startAnimating()
networkManager.getConfig(url: url) { (success, message, response) in
self.stopAnimating()
if success {
self.parseViewConfig(response)
}else{
print(message)
}
}
}
parseViewConfig是一个带有tableView的函数,该函数在其中加载数据。
一旦用户登录并显示ContainerViewController,如何显示活动指示器?
答案 0 :(得分:1)
尝试一下
var form = input.closest('form');
form.addEventListener('submit', function(e) {
e.preventDefault(); // important, otherwise the page will reload
/* your code */
});