我想在按下特定按鈕之後向視圖添加活動指示器(這是活動指示器視圖)。但是,該按鈕的代碼不在該視圖控制器的swift文件中,而是位於自定義swift文件中,該文件與viewcontroller swift文件「交互」(不確定該術語是否正確?)。我的代碼提示沒有錯誤,但它只是無法正常工作。視圖上沒有顯示activityindicator,屏幕應該停止接受用戶輸入,但它不會。我已經發布的下面的代碼的相關位:查看沒有被添加到Xcode中的頂部視圖控制器?
class CustomCell: UITableViewCell, UITextFieldDelegate {
var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
@IBAction func saveButtonTapped(sender: UIButton) {
func topMostController() -> UIViewController {
var topController = UIApplication.sharedApplication().keyWindow?.rootViewController
while (topController?.presentedViewController != nil) {
topController = topController?.presentedViewController
}
activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0,0,50,50))
activityIndicator.center = topController!.view.center //centers the indicator
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
topController!.view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()
return topController!
}
}
}
如果封閉的量是不正確的,這不是......這只是我搞砸了相關的代碼位的複製和粘貼的問題。有人有任何想法嗎?
嗯......你要顯示在單元格的viewController的指標呢?我對嗎?你爲什麼把這個函數放在動作函數裏面?如果你放在那裏,你不應該打電話嗎? – Tj3n
@ TJ3n你是對的,那就是我想要做的。我有那裏的功能,因爲我不知道如何'獲得'(術語?)頂級視圖控制器添加活動指標到它 –
爲什麼不使用委託,並告訴父VC顯示指標呢? – Tj3n