【iOS开发】UIWindow创建悬浮按钮

业务需求:
项目中有一个需求,在屏幕上面始终悬浮一个快速聊天按钮。
通过点击按钮可以跳转到相应的聊天界面。

实现思路:
1.先创建一个按钮UIButton对象
2.再创建一个UIWindow对象,将UIButton添加到UIWindow上
3.设置UIWindow的windowLevel属性为UIWindowLevelAlert + 1
4.显示window,[_window makeKeyAndVisible];

具体代码如下:

#pragma mark - 创建悬浮的按钮
- (void)createSuspendButton
{
    _button = [UIButton buttonWithType:UIButtonTypeCustom];
    [_button setTitle:@"悬浮按钮" forState:UIControlStateNormal];
    _button.frame = CGRectMake(0, 0, 80, 80);
    [_button addTarget:self action:@selector(closeWindow) forControlEvents:UIControlEventTouchUpInside];

    _window = [[UIWindow alloc]initWithFrame:CGRectMake(100, 200, 80, 80)];
    _window.windowLevel = UIWindowLevelAlert + 1;
    _window.backgroundColor = [UIColor redColor];
    _window.layer.cornerRadius = 40;
    _window.layer.masksToBounds = YES;
    [_window addSubview:_button];
    [_window makeKeyAndVisible];//关键语句,显示window
}

效果图:

【iOS开发】UIWindow创建悬浮按钮_第1张图片

完整Demo地址: Demo_SuspendButton

你可能感兴趣的:(Objective-C)