丈夫志四海,万里犹比邻。这篇文章主要讲述UIActivityIndi cator添加AppDelegate相关的知识,希望能为你提供帮助。
我想在打开应用程序时运行UIActivityIndi??cator。我怎样才能做到这一点?我的代码是我在那里分享它的方式。我想要在Launchscreen打开时使用此代码。
@objc func buttonTapped(_ sender: UIButton) {
let size = CGSize(width: 30, height: 30)
let selectedIndicatorIndex = sender.tag
let indicatorType = presentingIndicatorTypes[selectedIndicatorIndex]startAnimating(size, message: "Loading...", type: indicatorType, fadeInAnimation: nil)DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.5) {
NVActivityIndicatorPresenter.sharedInstance.setMessage("Authenticating...")
}DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
self.stopAnimating(nil)
}
}
for (index, indicatorType) in presentingIndicatorTypes.enumerated() {
let x = 150
let y = 250
let frame = CGRect(x: x, y: y, width: 100, height: 100)
let activityIndicatorView = NVActivityIndicatorView(frame: frame,
type: .orbit)
let animationTypeLabel = UILabel(frame: frame)
activityIndicatorView.padding = 20
if indicatorType == NVActivityIndicatorType.orbit {
activityIndicatorView.padding = 0
}
self.view.addSubview(activityIndicatorView)
self.view.addSubview(animationTypeLabel)
activityIndicatorView.startAnimating()let button: UIButton = UIButton(frame: frame)
button.tag = index
#if swift(>
=4.2)
button.addTarget(self,
action: #selector(buttonTapped(_:)),
for: .touchUpInside)
#else
button.addTarget(self,
action: #selector(buttonTapped(_:)),
for: UIControlEvents.touchUpInside)
#endif
self.view.addSubview(button)
}
答案你想要实现的是在发布屏幕期间显示
UIActivityIndicator
,遗憾的是这是不可能的。如果要在启动屏幕上执行任何动画,请将第一个视图控制器用作启动画面,并在启动画面上的动画结束时重定向到主屏幕。Some ideas:
- 创建单独的加载页面并从App delegate中的
didFinishLaunchingWithOptions
方法调用它 - 添加加载指示器(可以是任何你想要的)
- 将计时器设置为2-3秒,当它结束时重定向到主屏幕
【UIActivityIndi cator添加AppDelegate】
Good luck :)
推荐阅读
- QQuickWindow在共享lib自动关闭时在QApplication中显示
- 如何使用swift从Xcode coco app运行像FFMPEG这样的终端程序()
- 具有本地化app.staticTexts的UI测试(XCTest)
- 编译Android Studio Vulkan示例
- 引用oracle apex APP_USER
- 来自MongoDB BSON的Jackson ObjectMapper
- Flask,Pymongo和Mongoengine - ImportError(无法导入名称'app')
- 使用Hibernate App在Java中更改PostgreSQL的MySql时出错
- 错误(TypeError('app.use()需要中间件函数)