利用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];
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS开发-UIWindow的用法-创建悬浮按钮

www.MyException.Cn  网友分享于:2015-05-25  浏览:0次 iOS开发-UIWindow的用法-创建悬浮按钮 UIWindow如何使用?开发中有何用...

iOS---悬浮按钮的创建和使用

因为项目中添加这个功能然后研究了一下,记录下供以后回顾悬浮按钮的创建和使用 通过UIButton直接创建 通过UIWindow创建按钮 一. 通过UIButton直接创建...

使用WindowManager创建可拖动的悬浮按钮

场景描述: 界面上有一个浮动按钮,可以用手指拖动,点击该按钮触发事件,我这里是启动扫描,留了一个空实现。 private WindowManager wm; private View view...

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

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

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

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

Android开发自定义APP全局悬浮按钮

原本想通过framelayout实现一个悬浮在其他控件上的按钮,但是觉得很麻烦,需要各个界面都要动态填充.于是想到了悬浮窗,就自定一个ImageView用于显示全局按钮. 一,首先因为悬浮窗式的所以要...

FloatingActionButton(悬浮按钮) 使用及注意点

一、介绍 这个类是继承自ImageView的,所以对于这个控件我们可以使用ImageView的所有属性 android.support.design.widget.FloatingAction...
  • ldqsxsl
  • ldqsxsl
  • 2017年03月30日 13:20
  • 1346

Android用悬浮按钮实现翻页效果

今天给大家分享下自己用悬浮按钮点击实现翻页效果的例子。 首先,一个按钮要实现悬浮,就要用到系统顶级窗口相关的WindowManager,WindowManager.LayoutParams。那么在A...

Android 菜单BoomMenu(悬浮按钮弹出菜单)

本文只用来做技术收藏具体内容请访问github。 https://github.com/Nightonke/BoomMenuBoomMenu实现 一、导入jar dependencies { ...

android悬浮按钮(Floating action button)的两种实现方法

最近android中有很多新的设计规范被引入,最流行的莫过于被称作Promoted Actions的设计了,Promoted Actions是指一种操作按钮,它不是放在actionbar中,而是直...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用UIWindow创建悬浮按钮
举报原因:
原因补充:

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