4

先ほど SVProgressHUD をダウンロードして github のドキュメンテーション ページで説明されているように自分のプロジェクトに組み込みましたが、書き出しても[SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeGradient];デフォルトのマスク タイプと変わらず、カーソルが回転しているときに画面をタップすると、アプリがクラッシュしました - すべてのテーブル ビュー セルを表示する前にアプリがクラッシュしたため、ユーザー インタラクション機能を無効にできませんでした。

clearまたはblackマスクタイプも機能しなかったことに注意してください。

では、ユーザーの操作を無効にするにはどうすればよいでしょうか? そして、上記のコードは、とのどAppDelegate.mのファイルに記述すればよいでしょうか。applicationDidFinishWithLaunchingOptions:FirstViewController.viewDidLoad:

の最新バージョンを使用し、SVProgressHUDXcode 5.1 と iOS 7.1 を使用しています。私もARCを使っています。何か不足していますか?

[アップデート]

これはバグの問題であり、現在のバージョンでは解決されています。詳細については、 Github ページで確認してください。

4

5 に答える 5

12

これは答えるのが非常に遅いですが、今日この問題にしばらく悩まされていたので、誰かを助けることができる場合に備えて. github の最新のクラスを使用している場合は問題に直面することはありませんが、古いクラスを使用している場合は、SVProgressHUD.m の以下のメソッドを以下のように置き換えます。

+ (void)showWithStatus:(NSString *)status 
  {   
     [self setDefaultMaskType:SVProgressHUDMaskTypeGradient];
     [self showProgress:SVProgressHUDUndefinedProgress status:status];
  }
于 2016-04-06T10:33:53.353 に答える
11

私はSVProgressHUDswiftとiOS 10.2で使用しています。マスクタイプを設定するだけ

AppDelegate で

SVProgressHUD.setDefaultMaskType(.black)動作します。

そして書くたびに

SVProgressHUD.show()

マスクが表示され、userInteraction はそれによって管理されます。

于 2017-03-22T05:03:25.023 に答える
3

あなたは何も見逃していません。iOS 7 はマスク タイプを尊重していないように見えるため、ユーザーの操作が無効になることはありません。何よりもSVProgressHUDのバグだと思います。本当にイライラします。

于 2014-03-14T16:27:02.320 に答える
0

SVProgressHUDクラスにいくつかの変更を加えることで簡単に実行できます。
[self.window setUserInteractionEnabled:NO];最後の ofshowprogress with statusと put [self.window setUserInteractionEnabled:YES];indismissメソッドを挿入するだけです。

于 2016-09-08T06:41:44.290 に答える