Не удалось изменить размер индикатора активности в iOS 5.0? - PullRequest
7 голосов
/ 21 декабря 2011

В моем приложении Universal, в части iPAd, я изменяю размер индикатора активности ...

Я хочу изменить размер индикатора активности ..

Но здесь действительно возникают проблемы с iOS в первую очередь.мой код ...

-(void)startSpinner {

    spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];



/*spinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; */    
        spinner.hidden = NO;


    NSLog(@"Start Spinner");   

    if([self isPad])
 spinner.frame = CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2,100, 100);
else
 spinner.frame = CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/2,50, 50);



     NSLog(@"Dpinner size %f",spinner.frame.size.width);

        [spinner setHidesWhenStopped:YES];


           [self.view addSubview:spinner];
                [self.view bringSubviewToFront:spinner];
        /*1*/       **[spinner setColor:[UIColor blackColor]];**
                [spinner startAnimating];

        }

Проблема 1:

iOS 5.0: показывает индикатор активности, но не может изменить его размер.В методе isPAd размер не меняется.

iOS 4.3: при изменении цвета выдается ошибка «Прерывание сигнала»./ 1 / Полужирная линия в коде для установки цвета.Здесь Если я удалю setColor в iOS 5.0 в WhiteLargeStyle , он не будет отображаться на белом фоне.

Здесь. Если я использую стиль индикатора активности, такой как серый , он абсолютно мал в iPAd.works, но не может изменить его размер.

В кадре iOS 4.3 получают эффекты, но в кадрах ios 5.0не эффективны ...

Итак, как мне изменить размер индикатора активности ...

Ответы [ 4 ]

63 голосов
/ 21 декабря 2011

Попробуйте установить CGAffineTransform индикатора активности:

    CGAffineTransform transform = CGAffineTransformMakeScale(1.5f, 1.5f);
    activityIndicator.transform = transform;
4 голосов
/ 21 декабря 2011

Подумайте об использовании пользовательских индикаторов прогресса, поскольку это даст больше гибкости.

Я использую MBProgressHUD , и это просто и отлично для меня.

Вы можете получить его здесь - https://github.com/jdg/MBProgressHUD

0 голосов
/ 22 декабря 2011

@ Arpit

Свойство Color доступно для iOS 5.0 и более поздних версий.В iOS4.3 ожидается ошибка!

См. http://developer.apple.com/library/ios/#documentation/uikit/reference/UIActivityIndicatorView_Class/Reference/UIActivityIndicatorView.html

Спасибо

0 голосов
/ 21 декабря 2011

iTry это в моем приложении для iPad, и он отлично работает в обоих IOS

CGRect frame = CGRectMake(300,75,100,100);
    UIActivityIndicatorView *act = [[UIActivityIndicatorView alloc] initWithFrame:frame];
    [act startAnimating];
    act.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
    //[act sizeToFit];
    act.tag=kActTag;
    mainImage.enabled=TRUE;
    [mainImage addSubview:act];
    [act release]; act=nil;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...