标签: uiactivityindicatorview

主线程忙时运行UIActivityIndi​​catorView

有什么方法可以显示动画旋转轮,而主线程执行冗长的操作?动画由创建UIActivityIndi​​catorView的同一个线程处理,对吧?如果是这样,属于多个线程的视图是否可以位于同一视图层次结构中?

所有其他方法都失败了,我不介意将冗长的操作本身移动到后台线程中,但是当它运行时我必须以某种方式冻结UI.我不知道该怎么做.

编辑:第一代设备上的"冗长"约为2秒.

iphone cocoa-touch uiactivityindicatorview

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

在UINavigationBar(iOS)上将UIActivityIndi​​catorView添加到UIBarButtonItem

我找到了一篇很棒的文章如何在导航栏上的Bar Button中添加一个Activity Indicator.但我不能在我的情况下重复这一点.我在代码中添加了导航栏和UIBarButton(不是在nib中),但我找不到一个名为UINavigationButton将Activity Indicator放入其中的元素.

我希望UIBarButtonItem按钮可见:

在此输入图像描述

而不是那样的:

在此输入图像描述

有没有人有建议如何使这项工作?

iphone uibarbuttonitem uiactivityindicatorview ios

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

UINavigationBar titleView中iOS 6和UIActivityIndi​​cator的问题

从iOS 6开始就遇到了这个问题.我无法弄清楚是什么原因会导致这种行为发生变化.这曾经在5中完美地运作.现在活动指标不及时或根本没有出现.任何帮助将非常感激.

-(void)myMethod
{
    UIView *currentTitleView = [[self navigationItem] titleView];


    // Create an activity indicator and start it spinning in the nav bar
    UIActivityIndicatorView *aiview = [[UIActivityIndicatorView alloc]     initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];

    [[self navigationItem] setTitleView:aiview];
    [aiview startAnimating];

    // Start of Block code
    void (^block)(arg1, arg2) =
    ^(arg1, arg2)
    {
       block code;
       [aiview stopAnimating];
       [[self navigationItem] setTitleView:currentTitleView];
    };
// End of Block code




}
Run Code Online (Sandbox Code Playgroud)

uinavigationitem uiactivityindicatorview ios6

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

如何将activityindicator置于tableview的中间位置

我已经把活动指标

 spinner.center = CGPointMake( [UIScreen mainScreen].bounds.size.width/2,[UIScreen mainScreen].bounds.size.height/2);
[self.view addSubview:spinner];
Run Code Online (Sandbox Code Playgroud)

但是这没有在表视图中正确居中.因为表视图可以滚动.如何将微调器放在屏幕中央.

center uitableview uiactivityindicatorview ios

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

sendAsynchronousRequest使UI冻结

downloadImages是一个按钮,每当我按下它时,一个微调器应该开始滚动,异步请求应该ping谷歌(以确保有连接)并且在收到响应后,我开始同步下载图像.

不知怎的,微调器不会去,似乎请求是同步而不是异步.

- (IBAction)downloadImages:(id)sender {

    NSString *ping=@"http://www.google.com/";

    GlobalVars *globals = [GlobalVars sharedInstance];
    [self startSpinner:@"Please Wait."];
    NSURL *url = [[NSURL alloc] initWithString:ping];
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:5.0];
    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
        if (data) {
            for(int i=globals.farmerList.count-1; i>=0;i--)
            {
            //Definitions
            NSString * documentsDirectoryPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

            //Get Image From URL
                NSString *urlString = [NSString stringWithFormat:@"https://myurl.com/%@",[[globals.farmerList objectAtIndex:i] objectForKey:@"Image"]];
            UIImage * imageFromURL = [self getImageFromURL:urlString];



            //Save Image to Directory
            [self saveImage:imageFromURL withFileName:[[globals.farmerList objectAtIndex:i] …
Run Code Online (Sandbox Code Playgroud)

xcode asynchronous uiactivityindicatorview ios xcode5

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

UIActivityIndi​​catorView 在 UICollectionViewCell 中不旋转

我有一个自定义单元格加载在我的集合视图的底部。它唯一的工作是显示活动指示器视图 - 这在应用程序进行新的工作调用时发生。

所以我将它添加到单元格中,如下所示:

BBLoaderCell *loaderCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LoaderCell" forIndexPath:indexPath];


UIActivityIndicatorView * activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite];
activityIndicator.hidesWhenStopped = YES;
activityIndicator.hidden = NO;
activityIndicator.center = loaderCell.imageView.center;
activityIndicator.tag = 10;

[loaderCell.imageView addSubview:activityIndicator];

    [activityIndicator startAnimating];
    return loaderCell;
Run Code Online (Sandbox Code Playgroud)

这在我视图的最后一个单元格中显示了一个活动指示器 - 但它不旋转。有任何想法吗?

找到解决方案

根据评论 - 这是一个线程问题。我还采纳了将代码移动到单元格的自定义 nib 文件中的建议。

这是重构的代码:

BBLoaderCell *loaderCell = [collectionView dequeueReusableCellWithReuseIdentifier:@"LoaderCell" forIndexPath:indexPath];
    loaderCell.backgroundColor = [UIColor clearColor];

     if (self.loadingMore == NO){
        dispatch_async(dispatch_get_main_queue(), ^{
            activityIndicator.hidden = YES;
            [loaderCell.spinner stopAnimating];
        });
    }
     else if (self.loadingMore == YES){
    dispatch_async(dispatch_get_main_queue(), ^{
        activityIndicator.hidden = NO;
        [loaderCell.spinner startAnimating]; …
Run Code Online (Sandbox Code Playgroud)

iphone uiactivityindicatorview ios uicollectionview

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

当NSURLConnection时,swift UIActivityIndi​​catorView

我知道如何动画UIActivityIndi​​catorView我知道如何建立连接 NSURLConnection.sendSynchronousRequest

但我不知道如何动画UIActivityIndi​​catorView WHILE与之建立联系 NSURLConnection.sendSynchronousRequest

谢谢

nsurlconnection uiactivityindicatorview ios swift

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

Swift中的活动指标

我正在尝试使用swift制作活动指示器,但有一些我缺少的东西

以下是启动活动按钮按钮的代码:

Indicator = ActivityIndicator().StartActivityIndicator(ViewController());
Run Code Online (Sandbox Code Playgroud)

这是停止活动按钮的代码

 ActivityIndicator().StopActivityIndicator(ViewController(),indicator: Indicator);
Run Code Online (Sandbox Code Playgroud)

和ACtivity指标类的代码是

class ActivityIndicator: NSObject {

    var myActivityIndicator:UIActivityIndicatorView!

    func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
    {

        self.myActivityIndicator = UIActivityIndicatorView(frame:CGRectMake(100, 100, 100, 100)) as UIActivityIndicatorView;

        self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
        self.myActivityIndicator.center = obj.view.center;

        obj.view.addSubview(myActivityIndicator);

        self.myActivityIndicator.startAnimating();
        return self.myActivityIndicator;
    }

    func StopActivityIndicator(obj:UIViewController,indicator:UIActivityIndicatorView)-> Void
    {
            indicator.removeFromSuperview();
    }


}
Run Code Online (Sandbox Code Playgroud)

谢谢问题解决了

在写代码的时候我知道我必须在函数中传递自己的时间,但当时我不知道什么类型是自我引用所以我不知道类型然后我知道类型然后我决定尝试接收不同类型(UIView,UIActivityIndi​​catorView,UIViewController)然后我发现它应该是UIViewController但我忘了它应该通过自我和我寻找什么传递函数调用,我想让我们尝试UIViewController它并没有给我错误所以我认为这是正确的,但是当它不起作用时,我认为我足够接近,所以最好向专家询问这个问题.正如我所料,问题在几分钟内就解决了

Swift 3版

class ActivityIndicator: NSObject {

    var myActivityIndicator:UIActivityIndicatorView!

    func StartActivityIndicator(obj:UIViewController) -> UIActivityIndicatorView
    {

        self.myActivityIndicator = UIActivityIndicatorView(frame:CGRect(x: 100, y: 100, width: 100, height: 100)) as UIActivityIndicatorView

        self.myActivityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
        self.myActivityIndicator.center = obj.view.center;

        obj.view.addSubview(myActivityIndicator); …
Run Code Online (Sandbox Code Playgroud)

function uiactivityindicatorview ios swift

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

无法设置/增加UIActivityindicator视图的大小

我试图设置UIActivityindicatorview使用的大小setframe.它可以设置位置,但不能设置控件的大小.还有其他方法吗?

这是相关的代码.

 UIActivityIndicatorView*  mySpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    mySpinner.frame=CGRectMake((375/2)-25,210 , 100, 100);
    mySpinner.color=[UIColor blueColor];
     mySpinner.center =self.view.center;
   mySpinner.hidesWhenStopped = YES;
    [self.view addSubview:mySpinner];
Run Code Online (Sandbox Code Playgroud)

objective-c uiactivityindicatorview

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

如何在UICollectionView的页脚中添加UIActivityIndi​​catorView?

如何在swift中添加UIActivityIndicatorView页脚UICollectionView?因为UITableView,它只是self.tableView.tableFootView = self.myActivityIndicatorView.这可能吗?如果是这样,怎么样?

footer uiactivityindicatorview uicollectionview swift

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