IOS开发仿微信消息长按气泡菜单实现效果

 更新时间:2022年07月20日 14:25:06   作者:sj  
这篇文章主要介绍了IOS开发仿微信消息长按气泡菜单实现效果示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

话不多说,直接上效果图

使用方法

导入项目

代码地址:github.com/shangjie119…

SJPopMenu文件夹拖入到工程或者使用pod导入工程

pod 'SJPopMenu'

这个组件降低与原工程的耦合度,几乎不需要改动原工程代码。

使用

  • 显示: [[SJPopMenu menu] showBy:xxxxxx]
  • 需实现 SJCustomSelectTextView 里面方法,如果是自定义textView,只需将 SJCustomSelectTextView 的父类改为项目使用的textView即可
  • controller中需实现3个方法并且发送通知,使滚动时正确显示menu
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"SJChangePopMenuIfNeeded" object:nil];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"SJShowPopMenuIfNeeded" object:nil];
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
    if (!decelerate) {
        [[NSNotificationCenter defaultCenter] postNotificationName:@"SJShowPopMenuIfNeeded" object:nil];
    }
}
  • 点击menu action回调使用 menu.itemActions

对比微信实现效果

1、长按自动选择所有文本   ✅

2、选中部分文字增加全选功能 ✅

3、选中部分文字目前支持 复制  转发  都要用选中部分文本 ✅

4、乱拖选中文本  menu位置要变化(手松开才显示menu好像做不到,改成menu位置实时变化)✅ ❌

5、拖动当前cell滑动隐藏menu,停止滑动显示menu  (改成滑动就隐藏menu)✅

6、微信显示menu时,再收到消息暂时不显示新消息,menu消失时新消息才出来(改成接收新消息滑动,取消menu。微信只要按住聊天页面,新消息都不会马上刷新出来,感觉这个需要耦合度较高,所以未做)✅

7、长按显示菜单 再长按 过程 菜单取消   手指松开 微信选中一部分 (改成手指松开,还是全选) ✅

8、显示菜单  有时点其他区域 textView还是全选中状态 ??? 这是个bug!! 偶现  愁人ing…… ❌

点击红色区域,menu不会消失,目前没有好方法。

以上就是IOS开发仿微信消息长按气泡菜单实现效果的详细内容,更多关于OS 消息长按气泡菜单的资料请关注脚本之家其它相关文章!

相关文章

  • 详解iOS设计中的UIWindow使用

    详解iOS设计中的UIWindow使用

    这篇文章主要介绍了iOS设计中的UIWindow使用,包括UIWindowLevel和KeyWindow两个大的方面的讲解,需要的朋友可以参考下
    2015-09-09
  • iOS实现列表与网格两种视图的相互切换

    iOS实现列表与网格两种视图的相互切换

    相信大家应该也都发现了,在现在很多的电商app中,都会有列表视图和网格两种视图的相互切换。例如京东和淘宝。这样更利于提高用户的体验度,所以这篇文章小编就是大家分享下利用iOS实现列表与网格两种视图相互切换的方法,文中介绍的很详细,感兴趣的下面来一起看看吧。
    2016-10-10
  • 使用objc runtime实现iOS闭环的懒加载功能

    使用objc runtime实现iOS闭环的懒加载功能

    利用objc runtime的动态性实现懒加载可以实现即可增加又可删除功能,也可以避免污染类型。这篇文章主要介绍了使用objc runtime实现iOS闭环的懒加载功能,需要的朋友可以参考下
    2019-06-06
  • iOS开发自定义页脚和页眉技巧详解

    iOS开发自定义页脚和页眉技巧详解

    这篇文章主要为大家介绍了iOS开发自定义页脚和页眉的技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • iOS 检测文本中的URL、电话号码等信息

    iOS 检测文本中的URL、电话号码等信息

    本文主要介绍了iOS 检测文本中的URL、电话号码等信息的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • iOS模糊效果的实现方法

    iOS模糊效果的实现方法

    这篇文章主要为大家详细介绍了iOS模糊效果的实现方法,利用系统的CoreImage滤镜、UIImage ImageEffects分类和UIVisualEffectView实现模糊效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • IOS开发OC代码中创建Swift编写的视图控制器

    IOS开发OC代码中创建Swift编写的视图控制器

    这篇文章主要介绍了IOS开发OC代码中创建Swift编写的视图控制器的相关资料,需要的朋友可以参考下
    2017-06-06
  • objc方法声明和实现由于参数类型不一致所引发的崩溃

    objc方法声明和实现由于参数类型不一致所引发的崩溃

    这篇文章主要为大家介绍了objc方法声明和实现由于参数类型不一致所引发的崩溃详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • iOS开发image背景图片拉伸问题解决分析

    iOS开发image背景图片拉伸问题解决分析

    这篇文章主要为大家介绍了iOS开发image背景图片拉伸问题解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • iOS中wkwebView内存泄漏与循环引用问题详解

    iOS中wkwebView内存泄漏与循环引用问题详解

    这篇文章主要给大家介绍了关于iOS中wkwebView内存泄漏与循环引用问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07

最新评论