头文件:
#define activityViewTag 0x98751234
@interface UIView (ActivityView)
- (void)showActivityViewAtCenter;
- (void)hideActivityViewAtCenter;
- (UIActivityIndicatorView *)createActivityViewAtCenter:(UIActivityIndicatorViewStyle)style;
- (UIActivityIndicatorView *)getActivityViewAtCenter;
@end
实现文件:
#import "UIView.h"
@implementation UIView (ActivityView)
- (void)showActivityViewAtCenter
{
UIActivityIndicatorView *activityView = [self getActivityViewAtCenter];
if (activityView == nil){
activityView = [self createActivityViewAtCenter:UIActivityIndicatorViewStyleWhite];
}
[activityView startAnimating];
}
- (void)hideActivityViewAtCenter
{
UIActivityIndicatorView *activityView = [self getActivityViewAtCenter];
if (activityView != nil){
[activityView stopAnimating];
}
}
- (UIActivityIndicatorView *)createActivityViewAtCenter:(UIActivityIndicatorViewStyle)style
{
static int size = 30;
UIActivityIndicatorView *activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:style];
activityView.frame = CGRectMake([UIScreen mainScreen].bounds.size.width / 2 - size / 2, [UIScreen mainScreen].bounds.size.height / 2 - size * 2, size, size);
activityView.tag = activityViewTag;
[self addSubview:activityView];
[activityView release];
return activityView;
}
- (UIActivityIndicatorView *)getActivityViewAtCenter
{
UIView *view = [self viewWithTag:activityViewTag];
if (view != nil && [view isKindOfClass:[UIActivityIndicatorView class]]){
return (UIActivityIndicatorView *)view;
} else {
return nil;
}
}
@end
分享到:
相关推荐
本篇文章将深入探讨如何在Swift中使用`Progress`类和`UIActivityIndicatorView`来创建进度条和小菊花(活动指示器)效果,以及如何将其融入弹窗以展示任务状态。 首先,`Progress`类是iOS中用于表示进度的一种方式...
在iOS应用开发中,类库和框架扮演着至关重要的角色,它们为开发者提供了丰富的功能,大大简化了编码工作。在这个名为"DSActivityView"的源码包中,我们重点探讨的是一个特定的类库——DSActivityView,它主要用于...
- 可以利用Swift的RxSwift或ReactiveCocoa等响应式框架,简化事件处理和数据绑定,使代码更简洁。 7. 数据持久化: - 如果用户经常使用某些筛选条件,可以考虑将这些选择保存在UserDefaults或数据库中,下次打开...
在iOS开发中,状态栏(Status Bar)是用户界面的一部分,显示着设备的网络状态、时间、...开发者可以通过学习这个示例,了解如何在iOS应用中创建自定义状态栏指示器,以及如何在实际项目中合理地使用和管理这种组件。
在iOS中,`UIActivityIndicatorView`和`MBProgressHUD`是常用的加载框组件,而在Android中,可以使用`ProgressBar`或第三方库如`ProgressDialog`。 以"SVProgressHUD"为例,这是一个跨平台的加载框库,适用于iOS和...
在这个主题中,我们将深入探讨如何使用Swift语言来创建一个自定义的加载中视图,以及如何集成进度条视图来展示加载进度。 首先,让我们理解什么是Swift。Swift是Apple为iOS、iPadOS、macOS、watchOS和tvOS开发的一...
除此之外,还有UIActivityIndicatorView(活动指示器)用于表示加载过程,MBProgressHUD或ALiProgressHUD这样的第三方库则提供了更丰富的进度提示和自定义选项。 描述中的问题在于,当需要在非UIViewController或非...
这些只是UIKit中的一部分知识点,实际的压缩包可能包含更多组件的示例图片,如UISlider、UIActivityIndicatorView、UIBarButtonItem等,每个都有其特定的用法和配置选项。通过查看这些图片,开发者可以更好地理解...
总之,"Swift学习基础控件全解析Demo"是一个全面的学习资源,涵盖了UIKit控件的使用和定制。无论你是Swift新手还是希望巩固OC基础的开发者,都可以从中获益。通过深入学习和实践,你将能够创建出具有专业外观和流畅...
8. **封装组件库**:为了简化开发,很多开发者会使用第三方库,如SDRefreshControl、MJRefresh等,它们提供了丰富的自定义选项和开箱即用的功能。 9. **Swift UI或SwiftUI**:对于Swift项目,Apple引入了SwiftUI,...
综上所述,SYFlipView是一个强大且易于使用的工具,它简化了iOS应用中按钮和视图翻转动画的实现,为开发者提供了丰富的自定义选项,同时保持了良好的性能和兼容性。通过深入了解和应用这个组件,开发者可以为用户...
在iOS中,系统提供了默认的UIActivityIndicatorView,但有时为了满足独特的设计需求,开发者可能需要创建自定义的加载器。这个源码项目就展示了如何从头开始构建一个圆形的加载动画。下面我们将深入探讨这个话题,...
这个库可能封装了这些指示器的使用,简化了代码,使其更易于在项目中集成和管理。通过阅读WYBasisKit.txt,开发者可以了解如何使用这些提示窗口,如何在特定的网络操作中触发它们,以及如何自定义它们的外观和行为。...
3. **易于使用**:通过简单的OC代码就能快速集成,比如初始化、设置进度、开始和结束加载等方法。 4. **兼容性**:可能支持iOS的不同版本和屏幕尺寸,确保在多种设备上都能良好运行。 5. **线程安全**:如果库设计...
10. **自定义控件**:如果需要更高级的定制,如添加指示器、箭头按钮等,可以创建自定义的UIControl子类,结合UIButton和UIActivityIndicatorView等组件来实现。 总之,前后式滚动图片代码框架集成了多种iOS开发中...
该项目的核心是EGOPullRefreshTableHeaderView类,它继承自UIView,并包含了UIActivityIndicatorView(活动指示器)和UILabel(用于显示提示信息),通过监听UITableView的contentOffset属性来判断是否触发刷新动作...
5. **触摸事件处理**:UITouch是iOS中处理用户触摸事件的关键类,文中介绍了如何使用它来创建多点触控程序。 6. **网络连接状态检测**:通过NSStreams建立TCP链接,并检测网络活动状态,这对于实时应用如在线游戏或...
1. **创建刷新指示器**:可以使用`UIActivityIndicatorView`来表示正在刷新的状态,或者自定义视图来实现3D效果。 2. **添加手势识别**:添加`UIScrollViewDelegate`并实现其方法,如`scrollViewDidScroll:`来监听...
在iOS开发中,Swift语言是苹果官方推荐的...在Swift-master这个项目中,可能包含了这些控件的示例代码,帮助开发者理解和学习如何在实践中使用它们。通过深入研究这些例子,可以加深对iOS UI编程的理解,提升开发技能。
- 对于UIWebView,我们可以利用UIActivityIndicatorView(活动指示器)和手势识别器(GestureRecognizer)来实现。首先,创建一个可滚动的header视图,添加活动指示器,然后监听webView的scrollView的contentOffset...