gpt4 book ai didi

ios - 显示动画并锁定当前 View

转载 作者:行者123 更新时间:2023-11-28 22:31:32 25 4
gpt4 key购买 nike

我有一个调用外部网络服务的方法。现在我想在屏幕中间显示一个 UIActivityIndi​​catorView,同时 web 服务调用正在运行。我异步调用 webservice-method。但是对于您将在底部找到的我的代码,我有两个问题:

  1. 当前 View 未锁定。这意味着,用户可以与当前 View 进行交互。我想阻止所有直到动画停止
  2. 动画没有居中

这是我现在尝试过的代码:

-(void)saveDataOnServer {
UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc]initWithFrame:CGRectMake(225, 115, 30, 30)];
[activity setBackgroundColor:[UIColor clearColor]];
[activity setActivityIndicatorViewStyle:UIActivityIndicatorViewStyleGray];
[self.view addSubview:activity];
[activity startAnimating];

// ...

[NSURLConnection sendAsynchronousRequest: request
queue: queue
completionHandler: ^(NSURLResponse *response, NSData *data, NSError *error) {

[activity stopAnimating];

// ...
}
];
}

最佳答案

当事件指示器开始时,您必须放置另一个 View :

 UIView *overlayView;
overlayView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
overlayView.backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
[[UIApplication sharedApplication].keyWindow addSubview:overlayView];

并在事件指示器停止时删除该 View (overlayView):

 [overlayView removeFromSuperview];

此 OverlayView 将覆盖当前 View 。因此用户无法与当前 View 进行交互。

关于ios - 显示动画并锁定当前 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17293112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com