iOS 技术文档收录iOS 开发成长中心iOS 你不知道的新鲜事

iOS一行代码集成悬浮球,代码已开源

2017-01-10  本文已影响1558人  Pusswzy

之前工作需要在web页面添加一个悬浮球,在各大论坛也没有搜索到相关框架,现将功能封装成SDK来供大家使用.

项目源码, 希望对大家有所帮助

效果展示

gif的画质不是很清晰,一些动画和功能没有展示出来,大家可以下载源码来查看效果.

打开/关闭效果 粘性/边界判断

功能介绍:

property

/*****          数据源接口          *****/
/** 子悬浮球 图片名字 数组  */
@property (nonatomic, strong) NSArray *imageNameGroup;

/*****          悬浮球样式接口          *****/
/** 主悬浮球背景颜色  */
@property (nonatomic, strong) UIColor *superBallBackColor;
/** 主悬浮球初始状态是否需要展开  */
@property (nonatomic ,assign) BOOL showFunction;
/** 松开悬浮球后是否需要黏在屏幕的左右两端  */
@property (nonatomic ,assign) BOOL stickToScreen;

/*****          悬浮球点击事件          *****/
/** 打开 */
@property (nonatomic, copy) ShowOrClose show;
/** 关闭 */
@property (nonatomic, copy) ShowOrClose close;

/*****          控件          *****/
/** 功能菜单  */
@property (nonatomic, strong) UIView *functionMenu;
//** 代理 */
@property (nonatomic, weak) id<SuspendBallDelegte> delegate;

集成方法

1.所有页面中都使用悬浮球功能:
在Appdelegate.m里导入#import "SuspendBall.h", 然后在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中调用:

SuspendBall *suspendBall = [SuspendBall suspendBallWithFrame:CGRectMake(0, 64, 50, 50) delegate:nil subBallImageArray:@[@"suspend-back", @"suspend-share", @"full_screen_exit", @"up", @"down"]];

[[UIApplication sharedApplication].keyWindow addSubview:suspendBall];

然后在SuspendBallDelegte的代理方中就可以拿到各个悬浮球的点击事件.

2.部分页面集成悬浮球功能:

SuspendBall *suspendBall = [SuspendBall suspendBallWithFrame:CGRectMake(0, 64, 50, 50) delegate:self subBallImageArray:@[@"suspend-back", @"suspend-share", @"full_screen_exit", @"up", @"down"]];
    [self.view addSubview:suspendBall];

其余同上.

如果各位还有所需的功能或者对此的建议,可以留言与我,谢谢大家.

上一篇下一篇

猜你喜欢

热点阅读