标签: svprogresshud

如何使用MVVM和RxSwift快速显示/隐藏progressHUD

我从MVVM开始,以便将逻辑代码从视图中分离出来.但我有点担心在点击发出请求的按钮时将progressHUD相关代码放在哪里.

之前,我曾经这样做过:

//Before 
@IBAction func startRequestTapped() {
   SVProgressHUD.show()
    self.apiClient.requestObservable().subscribe(onError: { (error) in
        SVProgressHUD.hide()                    
    }, onCompleted: { 
        SVProgressHUD.hide()                                        
    })
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用mvvm时,我确实喜欢这样:

//In the viewModel
public var validateButtonDidTap = PublishSubject<Void>()
init() {
    validateButtonDidTap.flatMap { (_)
        return self.apiClient.requestObservable()
    }
}


   // In the viewController
viewDidLoad() {
    let tap = self.validateButton.rx.tap
    tap.bindTo(self.viewModel.validateButtonDidTap)
}
Run Code Online (Sandbox Code Playgroud)

其中,我不知道将ProgressHUD隐藏或显示放在哪里.

mvvm ios svprogresshud swift rx-swift

5
推荐指数
2
解决办法
4310
查看次数

如何将像SVProgressHUD这样的第三方框架添加到theos项目中

我想在我的 theos 逆向工程项目中使用 SVProgressHUD(无论是 .a 还是 .framework)。

我试图将标题放在 /opt/theos/inlcude 中,并将 .framework 文件放在 /op/theos/lib 中

并在 makefile 文件中添加 EXTRA_FRAMEWORK += SVProgressHUD。

它可以毫无问题地编译。但它以某种方式不起作用。

任何的想法?

reverse-engineering ios theos svprogresshud

5
推荐指数
0
解决办法
232
查看次数

在iOS应用上禁用用户交互不在SVProgressHUD中工作

我刚刚下载了SVProgressHUD并将其合并到我的项目中,如github文档页面中所述,但即使我写出来[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeGradient];,它与默认的掩码类型没有区别,当我在光标旋转时点击屏幕时我得到了我的应用程序崩溃 - 意味着我无法禁用用户交互功能,因为我的应用程序在显示所有表视图单元格之前崩溃.

请注意,clearblack掩码类型也不起作用.

那么如何才能成功禁用用户交互?和文件中AppDelegate.mapplicationDidFinishWithLaunchingOptions:FirstViewController.viewDidLoad:,我应该写上面的代码?

我使用的是最新版本,SVProgressHUD并使用Xcode 5.1和iOS 7.1.我也用ARC.我错过了什么吗?

[更新]

这是一个bug问题,它已在当前版本中得到解决.在Github页面上查看更多信息.

objective-c ios svprogresshud

4
推荐指数
2
解决办法
5742
查看次数

SVProgressHud戒指/前景颜色IOS

我现在将此问题发布了更多次,但我还没有解决我的问题。在我的情况下,foregroundColor无法正常工作。即使深浅色未选择任何颜色,环也不会显示为深灰色。请查看我的代码并为我提供帮助。谢谢

import SVProgressHUD
//import SVProgressHud on top

SVProgressHUD.setDefaultStyle(.custom)
SVProgressHUD.setDefaultMaskType(.custom)
SVProgressHUD.setMinimumSize(CGSize(width: 60, height: 60))
SVProgressHUD.setRingThickness(3)
SVProgressHUD.setRingNoTextRadius(20)
SVProgressHUD.setBackgroundColor(UIColor.white)
SVProgressHUD.setForegroundColor(UIColor.darkGray)
SVProgressHUD.show()
Run Code Online (Sandbox Code Playgroud)

我的SVProgressHud的ScreenShot

ios svprogresshud swift

4
推荐指数
1
解决办法
1893
查看次数

使用Tap Gesture解除SVProgressHUD

我需要在SVProgressHUD中添加一个UITapGestureRecognizer.SVProgressHUD已经能够解雇使用-(void) dismiss;.此代码将根据秒数关闭动画.

- (void)dismiss {
for (UIGestureRecognizer *gesture in [[[self class] sharedView] gestureRecognizers]) {
    [[[self class] sharedView] removeGestureRecognizer:gesture];
}

NSDictionary *userInfo = [self notificationUserInfo];
[[NSNotificationCenter defaultCenter] postNotificationName:SVProgressHUDWillDisappearNotification
                                                    object:nil
                                                  userInfo:userInfo];

self.activityCount = 0;
[UIView animateWithDuration:0.15
                      delay:0
                    options:UIViewAnimationCurveEaseIn | UIViewAnimationOptionAllowUserInteraction
                 animations:^{
                     self.hudView.transform = CGAffineTransformScale(self.hudView.transform, 0.8, 0.8);
                     if(self.isClear) // handle iOS 7 UIToolbar not answer well to hierarchy opacity change
                         self.hudView.alpha = 0;
                     else
                         self.alpha = 0;
                 }
                 completion:^(BOOL finished){
                     if(self.alpha == 0 || self.hudView.alpha == 0) …
Run Code Online (Sandbox Code Playgroud)

mobile objective-c uiviewcontroller ios svprogresshud

2
推荐指数
1
解决办法
2141
查看次数

SVProgressHUD 没有显示在屏幕中央?

我有 2 个项目,都是在 iOS 13 中开发的,其中一个项目 SVProgressHUD 工作正常,即在屏幕中心正确显示,但在另一个应用程序中,它显示在屏幕的左上角。

我搜索过,发现这个问题与几个用户在 ios 13 中开发有关。但对我来说,在一个项目中很好,在另一个项目中是错误的。我相信它有一个单独的问题,我不知道!

以下是两个应用程序附带的进度图片:

正确的外观:(中心

在此处输入图片说明

错误的外观:(左上

在此处输入图片说明

ps 无论我选择哪种设备,一个应用程序的行为都很好,而其他应用程序的行为则不同!!

ios svprogresshud swift

2
推荐指数
1
解决办法
1495
查看次数

SVProgressHUD如何延迟指定的时间量

我正在使用第三部分UIActivityIndi​​cator SVProgressHUD,当我的视图加载时,我正在进行这项工作.我希望延迟activityIndi​​cator大约1秒,同时我的应用程序中的一些事情发生.然后调用[SVProgressHUD dismiss]; 基于1秒等待......但我不知道该怎么做.

目前这是我的代码在viewdidload中的样子

[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];
    [SVProgressHUD setStatus:@"loading..."];   

    [SVProgressHUD dismiss];
Run Code Online (Sandbox Code Playgroud)

我知道有一个dismisswithsucsess:计时器..但这似乎延迟了我不想要的成功消息出现的时间..我想延迟指标,没有文字..但只是想不到一种方法.

我试过了

sleep(1); //which dosnt work 
Run Code Online (Sandbox Code Playgroud)

我也试过了

//[SVProgressHUD performSelector:@selector(stopAnimating) withObject:nil afterDelay:0];
Run Code Online (Sandbox Code Playgroud)

并把[SVProgressHUD解雇]; 在stopAnimating方法中,但是因为看起来所有的调用都需要在同一个方法中.

iphone uiactivityindicatorview ios svprogresshud

1
推荐指数
1
解决办法
3888
查看次数

SVProgressHUD未显示活动指示器

我正在尝试实现SVProgressHUD进度活动指标.我从[demo]中复制了这个类.1

我的应用加载但活动指示器未显示.这是我第一次尝试使用其中之一,所以任何帮助将不胜感激.

这是代码:

#import "SVProgressHUD.h"

@implementation QuotesAppDelegate

- (void)startLoading 
{
    //call this in your app delegate instead of setting window.rootViewController to your main view controller
    //you can show a UIActivityIndiocatorView here or something if you like
    [SVProgressHUD show];
    [self performSelectorInBackground:@selector(loadInBackground) withObject:nil];
}

- (void)loadInBackground
{ 
    //do your loading here
    //this is in the background, so don't try to access any UI elements
    [self populateFromDatabase];

    [SVProgressHUD dismiss];

    [self performSelectorOnMainThread:@selector(finishedLoading) withObject:nil waitUntilDone:NO];
}

- (void)finishedLoading
{
    //back on the main thread …
Run Code Online (Sandbox Code Playgroud)

iphone ios svprogresshud

1
推荐指数
1
解决办法
5228
查看次数

SVProgressHud等待太长时间才能解雇

我想SVProgressHUD在登录过程中显示.但是SVProgressHUD登录后仍然等待.它~15seconds在"登录成功"消息后被解雇.这是我的代码:

[SVProgressHUD show];

__block BOOL result;
dispatch_async(queue, ^{

    result = [self autanticate];
    NSLog(@"autantication result = %d", result);
    result = [self getCSRFToken];
    NSLog(@"Login success result = %d", result);

    [SVProgressHUD dismiss];
});
Run Code Online (Sandbox Code Playgroud)

autanticategetCSRFToken功能如下:

- (BOOL) getCSRFToken
{
__block BOOL success = false;
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
// Make sure that the callbacks are not called from the main queue, otherwise we would deadlock

manager.requestSerializer = [AFJSONRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer  serializer];

NSDictionary …
Run Code Online (Sandbox Code Playgroud)

grand-central-dispatch ios svprogresshud

1
推荐指数
1
解决办法
1638
查看次数

加载UIWebView时显示SVProgressHUD

UIWebView有一套作为视图ViewController。我想SVProgressHUD在网页加载时显示活动指示器,然后在完成时将其关闭,但似乎无法正常工作。网页加载正常,但是该指示器从不显示。我知道SVProgressHUD设置正确且功能正确,但我所拥有的功能却不正确。

我相信,因为我UIWebView实际上没有在IB的场景中,而是ViewController将视图设置为UIWebView,我正在使用的代码无法将其定位。如果我错了,请纠正我。

这是我的代码:

import UIKit
import SVProgressHUD

class ViewController: UIViewController, UIWebViewDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()



        if let url = URL(string: "https://www.google.com") {
            let webView = UIWebView(frame: self.view.frame)
            let urlRequest = URLRequest(url: url)
            webView.loadRequest(urlRequest as URLRequest)
            webView.scalesPageToFit = true;
            webView.scrollView.showsHorizontalScrollIndicator = false;
            webView.scrollView.showsVerticalScrollIndicator = false;
            self.view.addSubview(webView)


        }
    }

    func webViewDidStartLoad(_ webView: UIWebView) {
        SVProgressHUD.show()
    }
    func webViewDidFinishLoad(_ webView: UIWebView) {
        SVProgressHUD.dismiss()
    }
    func webView(_ webView: …
Run Code Online (Sandbox Code Playgroud)

uiwebview uiview ios svprogresshud swift

0
推荐指数
1
解决办法
148
查看次数

迅速的SVProgressHUD问题3

在Swift 3中面对SVProgressHUD中非常罕见的问题

Swift 3中SVProgressHUD的错误

检查pod文件,我没有做错任何事情,如github上的SVProgressHUD所述。

SVProgressHUD POD文件

svprogresshud swift

-2
推荐指数
1
解决办法
6978
查看次数