美文网首页
Objective-C的UIActivityIndicatorV

Objective-C的UIActivityIndicatorV

作者: 寻心_0a46 | 来源:发表于2023-04-09 16:25 被阅读0次

    UIActivityIndicatorView

    显示任务正在进行的视图,即旋转的小菊花图标。可以通过调用 startAnimating 和 stopAnimating 方法来控制活动指示器何时开始和停止动画。如果想在动画停止时自动隐藏活动指示器,可以将 hidesWhenStopped 属性设置为YES。通过使用color属性设置活动指示器的颜色。

    UIActivityIndicatorView 常用属性
    @property(nonatomic) UIActivityIndicatorViewStyle activityIndicatorViewStyle;
    

    属性描述活动指示器的基本外观。默认值为UIActivityIndicatorViewStyleMedium。

    • UIActivityIndicatorViewStyle提供的枚举值:
    typedef NS_ENUM(NSInteger, UIActivityIndicatorViewStyle) {
        // 默认的活动指示器样式
        UIActivityIndicatorViewStyleMedium  API_AVAILABLE(ios(13.0), tvos(13.0)) = 100,
        // 大型指示器
        UIActivityIndicatorViewStyleLarge   API_AVAILABLE(ios(13.0), tvos(13.0)) = 101,
        // 大型白色指示器 ios 13.0后已过期
        UIActivityIndicatorViewStyleWhiteLarge API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleLarge", ios(2.0, 13.0), tvos(9.0, 13.0)) = 0,
        // 指示器的标准白色样式 ios 13.0后已过期
        UIActivityIndicatorViewStyleWhite API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0), tvos(9.0, 13.0)) = 1,
        // 指示器的标准灰色样式 ios 13.0后已过期
        UIActivityIndicatorViewStyleGray API_DEPRECATED_WITH_REPLACEMENT("UIActivityIndicatorViewStyleMedium", ios(2.0, 13.0)) API_UNAVAILABLE(tvos) = 2,
    };
    

    UIActivityIndicatorViewStyleMedium 默认的活动指示器样式:

    截屏2023-04-10 15.49.39.png

    UIActivityIndicatorViewStyleWhiteLarge 大型指示器样式:

    截屏2023-04-10 15.50.46.png
    @property(nonatomic) BOOL                         hidesWhenStopped;
    

    属性描述一个布尔值,用于控制动画停止时调用方是否隐藏。如果此属性的值为YES(默认值),则调用方在不设置动画时将其隐藏属性(UIView)设置为YES。如果 hidesWhenStoped 属性为NO,则动画停止时调用方不会隐藏。使用 stopAnimating 方法可以停止为进度指示器设置动画。

    @property (null_resettable, readwrite, nonatomic, strong) UIColor *color API_AVAILABLE(ios(5.0)) UI_APPEARANCE_SELECTOR;
    

    属性描述活动指示器的颜色。如果为活动指示器设置颜色,它将覆盖activityIndicatorViewStyle 属性提供的样式颜色。

    @property(nonatomic, readonly, getter=isAnimating) BOOL animating;
    

    属性描述:一个布尔值,指示活动指示器当前是否正在运行其动画

    UIActivityIndicatorView 初始化函数
    - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle)style NS_DESIGNATED_INITIALIZER; 
    

    函数描述:创建活动指示器视图。UIActivityIndicatorView 根据指定的样式调整返回的实例的大小。可以通过activityIndicatorViewStyle属性设置和检索活动指示符的样式。

    参数 :

    style : 一个常量,用于指定要创建的对象的样式。

    返回值 : 初始化的UIActivityIndicatorView对象,如果无法创建该对象,则为nil。

    - (instancetype)initWithFrame:(CGRect)frame NS_DESIGNATED_INITIALIZER;
    

    函数描述:使用指定的框架矩形创建活动指示器视图。框架的大小不会影响指示器的大小

    参数 :

    frame : 视图的框架矩形,以点为单位指定。

    返回值 : 初始化的UIActivityIndicatorView对象,如果无法创建该对象,则为nil。

    - (instancetype)initWithCoder:(NSCoder *)coder NS_DESIGNATED_INITIALIZER;
    

    函数描述:使用故事版中的数据创建活动指示器视图。

    参数 :

    coder : 一个未调用的对象。

    返回值 : 初始化的UIActivityIndicatorView对象,如果无法创建该对象,则为nil。

    UIActivityIndicatorView 常用函数
    - (void)startAnimating;
    

    函数描述启动活动指示器的动画。当活动指示器设置动画时,指示器旋转以指示不确定的进度任务,直到调用stopAnimating为止。

    - (void)stopAnimating;
    

    函数描述停止活动指示器的动画。调用此方法可停止通过调用 startAnimationing 启动的活动指示器的动画。停止设置动画时,如果 hidesWhenStoped 为YES, 指示器将被隐藏。

    调整 UIActivityIndicatorView 大小

    由于 UIActivityIndicatorView 无法通过 Size 调整大小,而有时提供的样式大小又无法满足需求时,可以通过 UIView 的 transform 属性按倍数调整指示器的大小,如下:

    indicator.transform = CGAffineTransformMakeScale(3,3) ;
    

    \color{red}{超大号活动指示器 :}

    - (void)viewDidLoad {
        [super viewDidLoad];
        if (@available(iOS 13.0, *)) {
            UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleLarge];
            indicator.transform = CGAffineTransformMakeScale(3,3) ;
            [self.view addSubview:indicator];
            [indicator mas_makeConstraints:^(MASConstraintMaker *make) {
                make.center.equalTo(self.view);
            }];
            [indicator startAnimating];
            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
                [indicator stopAnimating];
            });
        }
    }
    
    截屏2023-04-10 16.22.06.png

    相关文章

      网友评论

          本文标题:Objective-C的UIActivityIndicatorV

          本文链接:https://www.haomeiwen.com/subject/nrrihdtx.html