执行时活动指示器不显示

2024-01-02

我试图在用户点击登录按钮时显示活动指示器。如果我把startActivityIndicator()代码在viewDidLoad()它完全按照预期显示在屏幕上。当我将其作为第一步执行时btnSignIn()它永远不会出现。有点迷失,所以我希望堆栈大师能提供帮助......

// Here are the variable declarations
var activityIndicator: UIActivityIndicatorView = UIActivityIndicatorView()
var loadingView: UIView = UIView()
var viewCenter:CGPoint!

@IBAction func btnSignIn(sender: AnyObject) {

    startActivityIndicator()

    if validateEmailAddress(txtEmailAddress.text!) == false {
        stopActivityIndicator(self.loadingView)
        return
    }

    if validatePassword(txtPassword.text!) == false {
        stopActivityIndicator(self.loadingView)
        return
    }

    PFUser.logInWithUsernameInBackground(txtEmailAddress.text!, password:txtPassword.text!) {
        (user: PFUser?, error: NSError?) -> Void in
        if user != nil {

            // Successful login.
            self.txtPassword.resignFirstResponder()
            self.txtEmailAddress.resignFirstResponder()

            self.getUserInfo()

        } else {
            self.stopActivityIndicator(self.loadingView)
            // The login failed. Display alert.
            self.displayAlert("Whoops!", message: "Email or Password are incorrect.")
        }
    }
}

func startActivityIndicator() {

    loadingView.frame = CGRectMake(0, 0, 80, 80)
    loadingView.center = viewCenter
    print(viewCenter)
    loadingView.backgroundColor = UIColorFromRGB("444444", alpha: 0.7)
    loadingView.clipsToBounds = true
    loadingView.layer.cornerRadius = 10

    activityIndicator.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
    activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
    activityIndicator.center = CGPointMake(loadingView.frame.size.width / 2, loadingView.frame.size.height / 2);

    view.addSubview(loadingView)
    loadingView.addSubview(activityIndicator)

    UIApplication.sharedApplication().beginIgnoringInteractionEvents()

    activityIndicator.startAnimating()

}

func stopActivityIndicator(uiView: UIView) {

    activityIndicator.stopAnimating()
    loadingView.removeFromSuperview()
    UIApplication.sharedApplication().endIgnoringInteractionEvents()
}

使用我的delay实用程序(参见此处:https://stackoverflow.com/a/24318861/341994 https://stackoverflow.com/a/24318861/341994),重写如下:

@IBAction func btnSignIn(sender: AnyObject) {
    startActivityIndicator()
    delay(0.1) {
        if validateEmailAddress(txtEmailAddress.text!) == false {
        // ... everything else goes here ...
    }
}

延迟使活动指示器有机会出现并开始旋转。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

执行时活动指示器不显示 的相关文章

  • 用于测试对象类型的通用 Swift 函数

    我正在尝试编写一个函数 该函数接受一个对象和一个类型作为参数 并返回一个布尔值 指示该对象是否属于给定类型 似乎没有 Type 类型 所以我不知道如何做到这一点 我能做的最好的就是 func objectIsType
  • Swift 中的协议与多态性

    我对面向对象编程相当陌生 我正在尝试了解协议 委托和多态性 我最近观看了一个培训视频 其中宣传当您有两个相似且具有相似方法实现的类时 协议是优雅地实现此目的的最佳解决方案 这就说得通了 然而 一些额外的研究让我发现了多态性 听起来这也是一种
  • 线程1:EXC_BAD_ACCESS(代码=1,地址=0xf1759018)

    所以我收到了这个错误 如下图 当我收到此错误时 正在检查我的核心数据库 并根据我收集的电池统计数据对结果进行平均 这一切工作正常 直到我休息了一下然后回来 将其插入并开始出现此错误 我有一个异常断点 但除了图像中的崩溃之外 它仍然没有向我显
  • Xcode 9.2 UIDocumentBrowserViewController:无法从 bookmarkableString 创建 url

    Update Xcode 9 3 已修复它 在创建 UIDocument 文件时UIDocumentBrowserViewController 默认 错误 无法解析书签 错误 错误域 NSFileProviderInternalErrorD
  • 将数据追加到 UITableView 的正确方法,swift

    我正在尝试使用两种方式将新数据添加到 UITableView 第一种方式 func insertData appendMessages Message var currentCount self messeges count var ind
  • xcode 9 中的 Facebook 登录按钮终止

    我正在使用 Xcode 9 并将编译器设置为 Swift 3 2 我使用 Cocoapods 安装了 Facebook Login 一切都编译没有任何错误 但每当我在模拟器中运行它时 我单击登录按钮 它就会崩溃 控制台中仅打印以下内容 li
  • 在 Swift 中,如何检测哪些 UIControl 事件触发了操作?

    我目前有 4 个 UITextField IBOutlet weak var fNameTextField UITextField IBOutlet weak var lNameTextField UITextField IBOutlet
  • iOS11视觉框架映射所有人脸特征点

    我正在使用视觉框架并使用以下代码获取所有里程碑点 if let allFaceLandmarks landmarks allPoints print allFaceLandmarks 但无法找到这些点的映射 例如右眼的索引号 寻找相同的东西
  • Swift UIToolBar 追加 UIBarButtonItem 项目

    我的语法不正确 有人知道这里缺少什么吗 我正在使用 Xcode 6 beta 3 并且尝试将工具栏项动态添加到 viewDidLoad 中的 手动添加的 工具栏 有两个问题 首先 我无法将工具栏中的项目附加到数组中 其次 虽然编译器允许我调
  • 在 Mac OS 10.14.2 上的 Python 3.7 中安装 JPype1 时出错

    我在系统中安装 JPype1 时遇到错误 我正在使用Python 3 7 JPype1 是 Jaydebeapi 的依赖项 pip install Jpype1 以下是错误消息 Collecting jpype1 Using cached
  • dyld:未找到符号:___NSDictionary0__ 在 XCode 7 和 iOS 目标 9.0 中使用带有发现文档的 google ServiceGenerator 二进制文件时

    我正在尝试使用 Google 从 Google 后端生成客户端 API 代码serviceGenerator以发现文档作为输入 以下是确切的命令 Users raja Library Developer Xcode DerivedData
  • 删除 UISearchBar 中的清除按钮

    我想从 UISearchBar 中删除清除按钮 灰色 x 我尝试按照中的描述进行操作这个答案 https stackoverflow com a 19458201 但它不起作用 我将 Objective C 代码从下面的答案和评论翻译为以下
  • 是否可以在 iOS 上确保 oauth 安全?

    是否可以在 iOS 上确保 oauth 安全 我正在调查OAuth 2 0 http tools ietf org pdf draft ietf oauth v2 12 pdf作为一种为 iOS 应用程序 套件 实现单点登录 授权的方法 为
  • 使 MKMapView 只放大 centerCoordinate 吗?

    我有一个始终位于地图中心的 MKPinAnnotationView 平移和缩放时 该图钉为我提供了地图的中心坐标 纬度 经度 目前 当您放大时 它只会放大您指定地图放大的位置 我真的很想将变焦锁定在图钉上 关于我如何实现这一目标有什么想法吗
  • iOS 上服务器发送事件的 webkit 的推荐替代方案 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想在我的本机 iOS 应用程序中接收服务器发送的事件 但我不使用 webkit Safari 根据我
  • 如何从 UITableViewController 中的静态单元格获取文本字段?迅速

    我的视图层次结构如下所示 UIViewController 类型的 ElevethViewController容器视图嵌入容器视图中的 UITableViewController 类型的 ManagedTableEleventhViewCo
  • 扩展功能截图未捕获 iPhone 和 iPad 中的同一区域

    我正在使用扩展函数来截取 uiview 的屏幕截图 问题是结果看起来非常不同 我希望无论使用 ipad 还是 iphone 照片看起来都一样 我手动输入约束 因此我希望图像是相同的 我想使用该函数转到视图控制器的原点或中心 高度为 200
  • 在UIView中画线

    我需要在 UIView 中画一条水平线 最简单的方法是什么 例如 我想在 y coord 200 处画一条黑色水平线 我没有使用界面生成器 也许这有点晚了 但我想补充一点 有更好的方法 使用 UIView 很简单 但相对较慢 此方法会覆盖视
  • 在 iOS 上将 SwiftUI 视图转换为 PDF

    我用 SwiftUI 画了一些漂亮的图表 因为它非常简单且容易做 然后我想将整个 SwiftUI 视图导出为 PDF 以便其他人可以以良好的方式查看图表 SwiftUI 没有直接为此提供解决方案 Cheers Alex 经过一番思考 我想到
  • Xcode 8.3 / Xcode 9.0 刷新配置文件设备

    我添加了一些新设备 当 Xcode 8 自动管理签名资产时 如何刷新配置文件 我发现了这个问题 刷新 Xcode 7 管理的团队配置文件中的设备 https stackoverflow com questions 32729193 refr

随机推荐

  • 通过 PyTumblr 仅返回 20 个帖子

    我在用PyTumblr https github com tumblr pytumblr返回我所有的帖子 但它只返回 20 我找到了 posts 函数的 kwarg 称为 limit 但当我指定 1000 时 它仍然返回 20 知道我做错了
  • 在 C# 中使用 crl(证书吊销列表)验证证书

    我想使用 CRL 属性验证证书 但是 当我在设置 CRL 检查标志后调用证书上的 verify 方法时 会出现以下错误 1 撤销状态未知 gt 吊销功能无法检查证书的吊销情况 2 离线撤销 gt 吊销功能无法检查证书的吊销 因为吊销服务器已
  • 当相应的py被移动时自动删除pyc文件(Mercurial)

    我三个月前就预见到这个问题可能会发生 并被告知要努力避免它 昨天 我被它咬了一口 很厉害 现在它花了我真金白银 我很想解决它 如果我将一个 Python 源文件移动到另一个目录中 我需要记住告诉 Mercurial 它已移动 hg move
  • ArrayList 的 ArrayList 添加和检索元素

    我有一个整数数组列表 mainList 里面有整数数组 subList 我试图将整数数组元素添加到 mainList 并稍后显示它们 将 subList 添加到 mainList 并显示 subList 中的所有元素 2 subLists
  • Windows - Android SDK 管理器未列出任何要安装的平台或软件包

    当我使用可用的 exe 文件安装 Android SDK 并且打开 Android SDK 管理器后 我看不到任何需要安装的附加软件包 列出的只是 Tools 文件夹下的 Android SDK Tools Extras 文件夹下也不显示任
  • 使用子目录时PyQt4 SIGNAL/SLOT问题

    预先感谢您花时间阅读本文 抱歉 它有点冗长 但希望它能完全解释问题 包含演示该问题的剥离代码 我的 PyQt4 信号 插槽有问题 虽然如果我在单个文件中编写 我可以使一切正常工作 但如果我希望使用的某些函数移动到子目录 类 我就无法使一切正
  • 我的 CASE 语句查询有什么问题

    我正在尝试解决 13http www sqlzoo net wiki The JOIN operation http www sqlzoo net wiki The JOIN operation 列出每场比赛以及每支球队的进球数 如图所示
  • 如何在 PySpark 中转换数据帧列中的 JSON 字符串?

    我有一个 pyspark 数据框 如下所示 c0 c1 object F 0 object F 1 object F 2 object E 3 object F 4 object F 5 object F 6 object S 7 obje
  • 由于四舍五入,计算 1 到 100 之间数字的程序永远不会猜到“100”

    我刚刚开始接触 C 我编写了一个小程序 选择 1 100 之间的随机数 然后对其进行修改以使程序计算出该数字 并计算所需的猜测次数 程序中的所有内容都有效 除了一件事 我正在使用一个公式来猜测当前猜测值与之前的最高 最低值之间的差异 因此对
  • 具有递归和列表理解的素数生成器

    我是 Haskell 编程的新手 无法理解下面的列表理解如何扩展 primes sieve 2 sieve p xs p sieve x x lt xs x mod p 0 有人可以纠正我如何sieve扩建工程 当我们进行模式匹配时siev
  • 在 Objective-C 框架中导入 Swift 类

    我有一个自定义框架 其中有一堆 Objective C 类 在框架内 我想使用 Swift 添加更多类 但是 当尝试使用以下方法将 Swift 类公开给 Objective C 代码时 MyProduct Swift h 它出现为 MyPr
  • 为数据框中的因素添加额外级别

    我有一个包含数字和有序因子列的数据框 我有很多 NA 值 因此没有为它们分配级别 我将 NA 更改为 无答案 但因子列的级别不包含该级别 所以这是我开始的方式 但我不知道如何以优雅的方式完成它 addNoAnswer function df
  • java IO 异常:流关闭

    这是我目前拥有的代码 public class FileStatus extends Status FileWriter writer public FileStatus try writer new FileWriter status t
  • C++ 匿名命名空间:变量初始化为 0?

    这里有一个相关的未解答的问题 c 未命名命名空间中的变量自动初始化为 0 堆栈溢出 https stackoverflow com questions 6526466 variables auto initialized to 0 in u
  • 即使没有代理,放大初始化错误“无法获取本地颁发者证书”

    我正在尝试初始化放大 但由于网络错误而失败 下面是命令堆栈 amplify init Note It is recommended to run this command from the root of your app director
  • Windows 命令行/shell - 丢弃 UTF-8 BOM

    这个问题还在继续关于有选择地将一个文件中的行附加到另一个文件的另一个问题 https stackoverflow com questions 12838802 windows command line shell while appendi
  • 将 C# 数组传递给 javascript

    我在 c 的 page load 中有一个数组 我想在 java 脚本中访问它 但不知道该怎么做 float energyArray new float count for int i 0 i lt count i energyArray
  • 在 vba (Excel/OneDrive) 中关闭自动保存

    我正在尝试关闭 Excel 文档的自动保存功能 Excel 365 同时将文件保存在 OneDrive 上 做一些研究AutoRecover Enabled False Application 应该是正确的属性 但由于某种原因我无法让它工作
  • JSF:绝对需要将昂贵的业务逻辑放入访问器方法中。如何避免多次调用这种昂贵的BL

    这是我的困境 我知道在 JSF 中访问器方法将被多次调用 因此我知道不要将昂贵的业务逻辑 如数据库访问 放在访问器方法中 如果我绝对必须将业务逻辑放入我的访问器中怎么办 这种情况我该怎么办 以下是我的困境的高级布局 莫贾拉 2 1 GF 3
  • 执行时活动指示器不显示

    我试图在用户点击登录按钮时显示活动指示器 如果我把startActivityIndicator 代码在viewDidLoad 它完全按照预期显示在屏幕上 当我将其作为第一步执行时btnSignIn 它永远不会出现 有点迷失 所以我希望堆栈大