对于UIActivityIndicatorView的使用,我们一般会创建一个背景View,设置一定的透明度,然后将UIActivityIndicatorView贴在背景View上,在我们需要的时候将这个 初始化UIActivityIndicatorView - (instancetype)initWithActivityIndicatorStyle:(UIActivityIndicatorViewStyle
---- UIActivityIndicatorView+AFNetworking 1. 接口调用 这个是指示器的一个分类,看一下.h接口。 @interface UIActivityIndicatorView (AFNetworking) ///---------------------------------- /// @name Animating 下面我们在看下.m里面的实现,这里多了一个类AFActivityIndicatorViewNotificationObserver,实现过程如下: #import "UIActivityIndicatorView ; - (void)setAnimatingWithStateOfTask:(NSURLSessionTask *)task; @end @implementation UIActivityIndicatorView 后记 本篇主要是UIActivityIndicatorView的分类的一些动画的实现,将动画与任务的进度进行绑定。
案例 使用 UIKit 中的UIActivityIndicatorView。 { var isAnimating: Bool // 如下的2个方法都是与UIKit相关 func makeUIView(context: Context) -> UIActivityIndicatorView { let v = UIActivityIndicatorView() v.color = .orange return v } func updateUIView(_ uiView: UIActivityIndicatorView, context: Context) { if isAnimating {
前言: UIActivityIndicatorView 活动指示器 ,就是一个转圈圈的控件(类似菊花)。 super.viewDidLoad() self.view.backgroundColor = UIColor.brown let spinner = UIActivityIndicatorView
message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease]; [alert show]; UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge
ActivityIndicator: UIViewRepresentable { var isAnimating: Bool func makeUIView(context: Context) -> UIActivityIndicatorView { let v = UIActivityIndicatorView() v.color = .orange return v } func updateUIView(_ uiView: UIActivityIndicatorView, context: Context) { if isAnimating {
你可以自定义 - (UIView *)customViewForEmptyDataSet:(UIScrollView *)scrollView { //加入你自定义的view UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray
进度环控件 (UIActivityIndicatorView) 1. 进度环控件 (UIActivityIndicatorView) 属性 UIActivityIndicatorView 属性截图 : (1) Style 属性 Style 属性 : -- Large 大小 两种大小 : -- 标准风格 : 像素值 20 x 20; -- 大风格 : 像素值 37 x 37; (5) 控制方法 UIActivityIndicatorView 控制方法 : -- UIActivityIndicatorView 代码示例 (1) 创建 IBOutletConnection 创建 IBOutletConnection : -- 按住 Option 键 将一个元素拖动到 , nonatomic) IBOutlet UIProgressView *progress3; @property (strong, nonatomic) IBOutletCollection(UIActivityIndicatorView
darkContent 和 lightContent 现在的 darkContent 对应之前的 default,现在的 default 会根据情况自动选择 darkContent 和 lightContent UIActivityIndicatorView 之前的 UIActivityIndicatorView 有三种 style 分别为 whiteLarge, white 和 gray,现在全部废弃。
CGRectMake(0,0,0,0) var m_ForgetRect = CGRectMake(0,0,0,0) var myActivityIndicator: UIActivityIndicatorView forControlEvents: UIControlEvents.TouchUpInside) // myActivityIndicator = UIActivityIndicatorView //myActivityIndicator.center = self.view.center; myActivityIndicator = UIActivityIndicatorView
等设置完文字之后在禁止点击,如果直接禁止点击 字体颜色会被渲染成灰色 self.userInteractionEnabled = NO; // 设置小菊花 UIActivityIndicatorView *indicatorView =[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray }]; } // 每当cell 重新显示在桌面上 ,都会调用laoutsubviews -(void)layoutSubviews { [super layoutSubviews]; UIActivityIndicatorView *indicator = (UIActivityIndicatorView *)self.accessoryView; [indicator startAnimating]; } @end
例如大名鼎鼎的AFNetworking为菊花控件监听NSURLSessionTask以获取网络进度的分类: UIActivityIndicatorView+AFNetworking.m @implementation UIActivityIndicatorView (AFNetworking) - (AFActivityIndicatorViewNotificationObserver *)af_notificationObserver = NSURLSessionTaskStateCompleted) { UIActivityIndicatorView *activityIndicatorView = self.activityIndicatorView
ProgressView一样的转圈菊花: struct MyProgrssView: UIViewRepresentable { func makeUIView(context: Context) -> UIActivityIndicatorView { let view = UIActivityIndicatorView() view.startAnimating() return view } func updateUIView(_ uiView: UIActivityIndicatorView, context: Context) {}}struct Demo: View { var 上文关于UIActivityIndicatorView的演示代码并没有出现这个情况。因此对于不同的UIKit组件,我们需要了解其默认设置,酌情对其进行约束设定。
ControlProperty<Int> {} } extension UISwitch { public var rx_value: ControlProperty<Bool> {} } extension UIActivityIndicatorView
make.centerX.equalTo(imageView.superview); make.top.equalTo(scaleHeight(20)); }]; UIActivityIndicatorView *activity = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray
UITextFieldDelegate { func textFieldShouldReturn(_ textField: UITextField) -> Bool { let activityIndicator = UIActivityIndicatorView
具有这种行为的UIKit类包括 UIImageView, UILabel, UIProgressView, UIActivityIndicatorView;下面是UIProgressView显示视图 ?
UIActivityIndicatorView、UIProgressView UIActivityIndicatorView:无进度的进度条。 UIProgressView:有进度的进度条。 class ViewController: UIViewController { @IBOutlet var indicator: UIActivityIndicatorView!
loading: UIViewController { let viewController = UIViewController() let indicator = UIActivityIndicatorView
进度与活动: UIActivityIndicatorView UIProgressView 控制器类 UIViewController类 UIViewController负责创建其管理的视图及在低内存的时候将它们从内存中移除