iPad — большой пользовательский интерфейс iPhoneActivityIndicatorView

Мне нужно сделать большой спиннер (в сером стиле, примерно 80x80px), но он выглядит некачественно. Есть ли способ сделать его качественным или заменить анимированное изображение?


person cesarnicola    schedule 06.08.2010    source источник


Ответы (7)


Это невозможно сделать с помощью UIActivityIndicatorView. однако вы можете написать свой собственный подкласс UIView, используя UIImageView и некоторую простую анимацию, чтобы сделать это за вас.

person Jesse Naugher    schedule 06.08.2010

На самом деле, вы можете установить стиль индикатора вашего UIActivityIndicatorView на Большой белый, а затем в коде сделать это:

// Objective-C
[myActivityView setColor:[UIColor grayColor]];
// Swift 4.0
myActivityView.color = .grayColor
person user698789    schedule 26.10.2011
comment
хм попробовал это, но у меня это не сработало: причина: '-[UIActivityIndicatorView setColor:]: нераспознанный селектор отправлен в экземпляр 0xa6287d0' - person Mark; 14.11.2011
comment
Добавьте этот тест: if ([myActivityView responsesToSelector:@selector(setColor:)]) { } - person user698789; 16.11.2011
comment
Это лучший ответ. Работает легко. - person Nick Turner; 21.01.2013
comment
Большое спасибо .. Работает как шарм! :) - person valbu17; 08.01.2015
comment
отлично! Можно подтвердить работу в Swift на iOS 8: myActivityView.color = UIColor.redColor() - person Max MacLeod; 23.01.2015

Решение Swift 2.0

myActivityView.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge
myActivityView.color = UIColor.grayColor()
person Chadmart    schedule 10.04.2016

Свифт 3

extension UIActivityIndicatorView {
    func makeLargeGray() {
        activityIndicatorViewStyle = .whiteLarge
        color = .gray
    }
}
person Dmitry Isaev    schedule 04.04.2017

Вы можете попробовать что-то вроде:

activityIndicator.transform = CGAffineTransform(scaleX: 1.3, y: 1.3)

Однако, если вы сделаете его достаточно большим, вы сможете увидеть пиксели...

person inigo333    schedule 26.01.2018

Свифт 4.2

extension UIActivityIndicatorView {
    func makeLargeGray() {
        style = .whiteLarge
        color = .gray
    }
}
person kauai    schedule 23.09.2018

Полезным проектом, с которого вы можете начать, является MBProgressHUD.

person appsmatics    schedule 22.03.2012