• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ios > qq好友列表分组设计关于微信好友列表跳转问题

qq好友列表分组设计关于微信好友列表跳转问题

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了微信没有qq好友列表,qq好友列表分组名称,qq好友列表,qq好友列表分组设计,qq好友列表显示自己等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:qq好友列表分组设计 关于微信好友列表跳转问题
描述:

请问微信中点击通讯录,然后选择一个好友,然后点击发送消息之后,返回的还是主界面?这个功能是怎么实现的呢?看他点击发送消失之后是pop到了通讯录的好友列表,然后在push进去的,我的实现方式是先popToRoot 然后在切换tabbar选中,感觉这样看起来并不丝滑~求助


解决方案1:

微信及很多 IM app 为了防止聊天界面多开、深层嵌套,也为了统一操作习惯,都限定了「凡是进聊天界面,都统一从会话列表进」,我之前做的几款 app 在对打开聊天界面的处理上也是这样。
有一个用于打开聊天界面的公共方法,可以在任意界面调用。或者定义一个聊天界面的路由。
比如:+ [ChatViewController openWithUser:(User *)user];

以微信的 app 结构为例,上有导航下有 tabBar ,只有一个会话列表。打开聊天界面的逻辑大概是这样:

if (currentChatViewController && currentChatViewController.user.userId == user.userId) {
    // 如果这个人的聊天界面已经打开了

    if (conversationListViewController.navigationController.viewControllers.count > 2) {
        // 不在聊天界面:比如在查看资料界面,就返回到聊天界面
        [conversationListViewController popToViewController:currentChatViewController animated:YES];
    }
} else {

    // 退出当前的聊天界面,animated: NO
    if (conversationListViewController.navigationController.viewControllers.count > 1) {
        [conversationListViewController.navigationController popToRootViewControllerAnimated:NO];
    }

    ChatViewController *chatVC = [[ChatViewController alloc] initWithUser:user];

    [conversationListViewController.navigationController pushViewController:chatVC animated:YES];
}

tabBarViewController.selectedIndex = 0;

获取根控制器、会话列表、当前聊天窗口,可以使用全局变量,或者用代码查:

UITabBarController *tabBarViewController = (UITabBarController *)[UIApplication sharedApplication].keyWindow.rootViewController;

UIViewController *conversationListViewController = tabBarViewController.viewControllers.firstObject;

ChatViewController *currentChatViewController =
    (ChatViewController *)(conversationListViewController.navigationController.viewControllers.count > 1 ?
                           conversationListViewController.navigationController.viewControllers[1] : nil);


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • qq好友列表分组设计关于微信好友列表跳转问题

相关文章

  • 2017-06-05 iOS字符串截取问题
  • 2017-06-05 iOS@autoreleasepool{}在ARC下的使用场景
  • 2017-06-05 iOS制作静态库时,由于引入外部framework,编译时出现'xxh'filenotfound问题
  • 2017-06-05 xcodearchiveXcode中自带的崩溃数据收集怎么样设置
  • 2017-06-05 自考通知单ios系统通知和自定义通知我想知道WHY
  • 2017-06-05 xcode8,添加appleid总是说错误,该怎么处理呢?
  • 2017-06-05 iOSsearchbar谓词搜索可变数组中的元素
  • 2017-06-05 iOSUDPsocket实现VoIP后台
  • 2017-06-05 桌面刷新闪屏iosapp从后台返回会闪屏的原因
  • 2017-06-05 内存优化地图内存优化讨论

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 维维网高级查询key(swift)怎么查询key
    • IOS如何实现软键盘出现的时候,窗口的高度减少?(类似于聊天的窗口)
    • Xcode8中的一些问题
    • 无法删除文件无法读源文件或磁盘UITableView无法滚动到底部
    • iOS开发,如何跳转到系统设置页?iOS10
    • iOS锁屏、解锁
    • iOSQuotaExceededErrorDOMException22
    • SwiftSwift中where从句应该怎么用?
    • app获取ios相册的图片
    • 高德地图高德地图的定位点(大头针)的frame

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有