利用UIWindow创建悬浮按钮

原创 2017年01月03日 16:16:14


创建全局属性

@property(strong,nonatomic)UIWindow *giftWindow;
@property(strong,nonatomic)UIButton *giftBtn;
@property (strong,nonatomic) UIImageView *giftImgView;

创建按钮,window,imageView

- (void)giftButton {

    _giftWindow = [[UIWindow alloc]initWithFrame:CGRectMake(WIDTH-85, 30, 85, 85)];
    _giftWindow.windowLevel = UIWindowLevelAlert + 1;
    [_giftWindow makeKeyAndVisible];//关键语句,显示window

    _giftImgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 85, 85)];

    // 创建序列帧动画
    NSMutableArray *array = [NSMutableArray array];

    for (int i = 0; i < 7; i++) {
        NSString *imageName = [NSString stringWithFormat:@"lihe-%d", i + 1];
        UIImage *image = [UIImage imageNamed:imageName];

        // 把图片添加到数组中
        [array addObject:image];
    }

    self.giftImgView.animationImages = array;
    self.giftImgView.animationDuration = 1.5;
    self.giftImgView.animationRepeatCount = 0;    // 0 表示重复
    [self.giftImgView startAnimating];
    [_giftWindow addSubview:_giftImgView];

    _giftBtn = [[UIButton alloc] init];
    _giftBtn.backgroundColor = [UIColor clearColor];
    [_giftBtn addTarget:self action:@selector(giftBtnClick) forControlEvents:UIControlEventTouchUpInside];
    _giftBtn.frame = CGRectMake(0, 0, 85, 85);
    [_giftWindow addSubview:_giftBtn];

}

实现点击

- (void)giftBtnClick{
    NSLog(@"111");

    //让window消失
    [_giftWindow resignKeyWindow];
    _giftWindow = nil;   
}

PS:因为是新创建了一个window,所以跳到其他见面时也会有,如果不想让其他页面显示需要在viewDidDisappear里写

- (void)viewDidDisappear:(BOOL)animated {
    [super viewDidDisappear:animated];
    [_giftWindow resignKeyWindow];
    _giftWindow = nil;
}

如果要回到本页面时再度显示,就在viewWillAppear里调用[self giftButton];即可

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    [self giftButton];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

利用ViewDragHelper实现菜鸟裹裹的悬浮按钮效果

一起来看看菜鸟裹裹的悬浮按钮效果是怎么样的: 看到那个免费送电影票了么,那个就是悬浮的按钮,这是一个View,可以是Button或者其他,都可以 然后我们需要用到ViewDragHelper,...

利用WindowManager生成悬浮按钮及悬浮菜单

简介本文模仿实现的是360手机卫士基础效果,同时后续会补充一些WindowManager的原理知识。 整体思路360手机卫士的内存球其实就是一个没有画面的应用程序,整个应用程序的主体是一个Servi...

悬浮按钮和可交互提示

FloatingActionButton是Design Support库中提供的一个控件,可以比较轻松的实现悬浮按钮的效果。 1.修改activity_main.xml中的代码,如下: an...

Android编程:悬浮菜单按钮FloatingActionButton实例

Android编程:悬浮菜单按钮FloatingActionButton实例本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境:主机:WIN10开发环境...
  • jdh99
  • jdh99
  • 2017-05-04 16:50
  • 1095

Material风格的悬浮按钮

Material风格的悬浮按钮 简介在material 风格的设计中,一个悬浮按钮代表了它的最初动作。 它们是悬浮在UI界面上的一个圆形按钮,并且有一些动作,包括变形,发射,位移等 在build...

onTouchEventListener实现悬浮按钮

原理:实现OnTouchListener通过重写onTouch()方法来实现,下面是主要代码: 布局: <LinearLayout android:id="@+id/moveView"...

WZSZF飞鸽传书 如何实现网页悬浮按钮

原文:WZSZF飞鸽传书 如何实现网页悬浮按钮 WZSZF飞鸽传书 如何实现网页悬浮按钮,这里给大家总结一下。 因为代码里注释的很清楚,所以我这里只做一个简单介绍(关于在线客服)。 先说...

Android CircularFloatingActionMenu:作为系统级按钮悬浮桌面弹出菜单使用(3)

 Android CircularFloatingActionMenu:作为系统级按钮悬浮桌面弹出菜单使用(3) Android CircularFloatingActionMenu另外一个不...

listView一键置顶,刷新加载,悬浮按钮

最近项目里面有一个listview一键置顶,刷新加载,悬浮按钮功能,整理一下供大家参考1、build.gradle中添加依赖compile 'com.melnykov:floatingactionbu...

CSS3鼠标放上按钮悬浮框提示效果

* { margin: 0px; padding: 0px; }
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)