iOS 一行代码集成微信浮窗功能

本文介绍了一行代码即可集成微信浮窗功能的方法。通过XWFloatingWindowView库,轻松实现控制器浮窗展示、检查是否显示及移除浮窗等功能。支持iOS10及以上版本,并附带震动反馈。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XWFloatingWindow

一行代码集成微信浮窗功能

1. 效果

演示Gif

2. 使用

在需要浮窗展示的地方调用:

// self 为需要浮窗展示的控制器
[XWFloatingWindowView showWithViewController:self];

现在你的控制器就已经集成微信浮窗功能了��

其他方法

1. 当然你可能需要知道当前控制器是否在浮窗内展示,你可以 ��:
// self 为当前控制器
BOOL isShowing = [XWFloatingWindowView isShowingWithViewController:self]

他会告诉你当前控制器是否已集成在浮窗内。

2. 获取你希望移除这个浮窗,除了拖动到右下红色区域内自动移除以外,你也可以 ��:
// 移除浮窗,释放控制器
[XWFloatingWindowView remove];

3.扩展

1.界面跳转效果使用 UINavigationController 转场动画
2.震动效果使用 UIImpactFeedbackGenerator 此类仅支持iOS10及以上机型,微信能震动多数情况下此库也会震
3.一些界面绘制使用了 CALayer 和 相关子类.
4.使用了简单的 CABasicAnimation 核心动画
5.分享一个笔者创建单例对象的代码块,任何需要创建单例的类,引入此段代码,并将 XXClassManager 替换为你自定义的类就可以了。
#pragma mark - 单例对象
static XXClassManager *_defaultManager;
+ (instancetype)shareInstance {
    if (!_defaultManager) {
        _defaultManager = [[self alloc] init];
    }
    return _defaultManager;
}
+ (instancetype)allocWithZone:(struct _NSZone *)zone {
    if (!_defaultManager) {
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            _defaultManager = [super allocWithZone:zone];
        });
    }
    return _defaultManager;
}
- (id)copyWithZone:(NSZone *)zone{
    return _defaultManager;
}
- (id)mutableCopyWithZone:(NSZone *)zone{
    return _defaultManager;
}

⚠️ 调用此库之前需要确定你的控制器为 NavigationController 所管理,否则将无法集成

详情实现可下载源码查看: XWFloatingWindow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值