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

作者: Pusswzy | 来源:发表于2017-01-10 14:39 被阅读1558次

    之前工作需要在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];
    

    其余同上.

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

    相关文章

      网友评论

      • 简书lu:很喜欢你的分享,实用易懂~
        Pusswzy:谢谢, 好开心呀呀呀呀~
      • JoyceZoe:写的很好哟。赞一个

      本文标题:iOS一行代码集成悬浮球,代码已开源

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