iOS的几个特效实现思路

2023-11-18

最近看一个app的源码,发现基本没有用第三方的开源组件,但是特效也做得不错,总结一下实现的思路

简单的抽屉效果

效果如图:
抽屉效果

这种抽屉效果很常见,开源组件也很多。但是一般开源组件都对Controller的结构有要求,有时候不是很方便。

原理主要是:主页面加侧边栏。当弹出侧边栏时,设置主页面的x为一个负数;当收回侧边栏时,将主页面的x设置为0。再加上一些动画和手势就可以了。

初始化侧边栏

func addSidePanelController() {
        if (sidePanelController == nil) {
            sidePanelController = UIStoryboard.deviceListPanelController() // 初始化侧边栏的controller,用storyboard或者代码不是核心
            view.insertSubview(sidePanelController!.view, atIndex: 0) // 添加侧边栏view
            sidePanelController!.view.frame = CGRectMake(
                expandedOffset,
                topLayoutGuide.length,
                view.bounds.width - expandedOffset,
                view.bounds.height - topLayoutGuide.length) // 设置侧边栏frame
            addChildViewController(sidePanelController!) // 添加侧边栏controller为子controller
            sidePanelController!.didMoveToParentViewController(self)
        }
    }

处理弹出和收回


                
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS的几个特效实现思路 的相关文章

  • 获取对 iOS 应用程序中最顶层视图/窗口的引用

    我正在创建一个可重用的框架 用于在 iOS 应用程序中显示通知 我希望将通知视图添加到应用程序中其他所有内容的顶部 有点像 UIAlertView 当我初始化监听 NSNotification 事件并添加视图作为响应的管理器时 我需要获取对
  • 如何在 Xcode 4 中在 .h 和 .m 之间切换

    刚刚安装的 Xcode 4 到目前为止一切顺利 除了 Apple 更改了所有键盘快捷键 有人知道如何在 h 和 m 之间切换吗 苹果改变了各种快捷键 但要在标头和实现之间切换 新的快捷键是 You can change it back to
  • 将子视图控制器的视图添加到父视图控制器的子视图

    我想添加一个表视图控制器作为容器视图控制器的子视图控制器 如下所示 根据苹果公司的查看控制器编程指南 http developer apple com library ios featuredarticles ViewControllerP
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 如何在 UICollectionView 的节标题中动态添加标签和按钮?

    请帮助我如何水平添加标签和水平添加类似的按钮 但每个按钮应像另一个部分一样在每个标签的下方对齐 这应该在 UICollectionView 的标题中动态发生 因为标签和按钮的数量根据我的数据 我想制作一种 Excel 类型的布局 并在标题中
  • 使用 NSURLSessionDataTask 显示文件下载进度

    我想显示特定文件的文件下载进度 收到了多少字节 它与 NSURLSessionDownloadTask 配合得很好 我的问题是我想用 NSURLSessionDataTask 实现同样的效果 以下是将文件接收到 NSData 并写入文档文件
  • 带有 Core Data 对象的动态 UITableView 高度

    过去几天我一直在试图解决一个谜团 即为什么我的批处理大小为 20 的 NSFetchedResultsController 总是在获取完成后立即错误 即加载到内存中 我的所有对象 从而导致请求需要约 20 秒 事实证明 这是因为在我的 he
  • iOS 10 的错误? NSDate 日本地区时间描述和 24 小时休息

    这似乎是 iOS 10 的一个错误 在 iOS 8 和 9 中都可以 NSDate date description 的小时描述是错误的 它附加了 24 小时描述和 12 小时描述 我没有使用 NSDateFormatter 只是默认设置
  • Swift 3 错误:[_SwiftValue pointSize] 无法识别的选择器发送到实例

    我刚刚将我们的项目迁移到 swift 3 发现由于一个问题导致大量崩溃 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 SwiftValue pointSize 发送到实例的无法识别的选择器 该
  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • iOS中的performSelector有什么用

    的作用是什么执行选择器 比较 self btnClicked and self performSelector selector btnClicked void btnClicked NSLog Method Called 两者都对我来说工
  • iOS 8 中的 UISplitViewController 状态恢复

    在 iOS 8 上 UISplitViewController 似乎可以保存和恢复其子视图的状态 例如 主视图是否隐藏 这是不可取的 因为我的应用程序应该始终以横向方式显示主视图 并始终以纵向方式隐藏它 如果用户以横向模式关闭应用程序 保存
  • 如何从代码隐藏中设置 CarouselView 的项目?

    我有一个 CarouselView 它绑定到图像的 ItemsSource 但我想通过更改 CarouselView 的索引来更改当前显示的图像 我尝试使用 CarouselView Position 作为必须选择的元素的索引 但不幸的是这
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • 如何将音乐从我的应用程序切换到 iPod

    我在用MusicPlayerController我的应用程序中的对象来播放音乐 我知道当 iPhone ipod 应用程序终止时 可以继续播放我的应用程序音乐 我该怎么做 这涉及到一些事情 您必须在两种音乐播放器之间进行选择 应用程序音乐播
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector
  • 为什么这个 SKPhysicsJointPin 不能将这 2 个精灵保持在一起?

    我显然不太了解 SKPhysicsJoint 但是除了 Apple 文档之外 网上的信息还很少 下面的代码有什么问题 我认为应该保持头部和颈部永久连接 我的意图是它们就像两张带有大头针的纸 这样它们可以旋转一点 但不仅仅是完全分开 当我运行
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • VT Msr Hook Syscall

    VT Msr Hook Syscall 什么是系统调用 系统调用是内核提供给应用层的接口 比如在 win10x64 应用层打开一个应用 其实就是 explorer 调用了 CreateProcess 这个函数通过 NTDLL 调用表的 0x
  • 大数据技术——hadoop集群搭建出现的问题

    出现的问题和解决方案 ssh免密出现的问题 解决方法 出现上图的是语法错误 在ssh和 keygen中多了空格 去掉即可 2 ssh免密登录出现的问题 ssh登陆报错 WARNING REMOTE HOST IDENTIFICATION H
  • 区块链的工作原理

    区块链系统由数据层 网络层 共识层 激励层 合约层和应用层组成 其中 数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法 网络层则包括分布式组网机制 数据传播机制和数据验证机制等 共识层主要封装网络节点的各类共识算法 激
  • tcp/ip 详细解析以及网络层简单的发送syn

    利用tcp发送syn 我们可以从网络层进行下发 其实就是组装tcp ip包发送出去 include
  • 微信小程序列表item左滑操作

    页面DOM index wxml
  • TLAB简单介绍

    1 什么是TLAB 新对象都是在Eden区分配空间 这块空间是在多线程间共享的 那么考虑一下 多线程是可能同时创建新对象的 这时候必然需要一种同步机制 使用队列 或者通过互斥 这些方式确实都可以 不过 我们还有一种更好的方式 TLAB 它全
  • 网络传输基本流程

    网络传输流程图 在数据链路层有一个标识 每一台主机的唯一符 MAC地址 MAC地址 计算机的网卡在出厂时就打上了一串数据 MAC 地址 其通常是唯一的 所以局域网中发消息必须加上目的主机的MAC地址 两台计算机通过 TCP IP 协议通讯的
  • 【算法笔记】Prim算法

    定义 prim算法 图论中的一种算法 可在加权连通图里搜索最小生成树 由此算法搜索到的边子集所构成的树中 不但包括了连通图里的所有顶点 并且其所有边的权值之和最小 算法描述 输入 一个加权连通图 其中顶点集合为V 边集合为E 初始化 Vne
  • Spring Cloud

    添加config properties文件就行了 内容为空的都可以 加上该文件再次运行
  • 如何防止CSRF攻击

    随着互联网的高速发展 信息安全问题已经成为企业最为关注的焦点之一 而前端又是引发企业安全问题的高危据点 在移动互联网时代 前端人员除了传统的 XSS CSRF 等安全问题之外 又时常遭遇网络劫持 非法调用 Hybrid API 等新型安全问
  • Lunece全文检索搜索引擎

    Lunece全文检索 1 什么是全文检索 lucene是apache软件基金会4 jakarta项目组的一个子项目 是一个开放源代码的全文检索引擎工具包 但它不是一个完整的全文检索引擎 而是一个全文检索引擎的架构 提供了完整的查询引擎和索引
  • Postman如何做接口测试,那些不得不知道的技巧

    目录 导读 前言 Postman如何做接口测试1 如何导入 swagger 接口文档 Postman如何做接口测试2 如何切换测试环境 Postman如何做接口测试3 什么 postman 还可以做压力测试 Postman如何做接口测试4
  • substance designer中的warp节点分析

    一直觉得warp挺适用 但是用起来有时候效果挺奇怪的 还有directional warp貌似两个产生的效果截然不同 于是尝试用u3d 材质实现下 directional warp 这个节点主要功能是用灰度信息推开像素 常常用来分割连续贴图
  • Ubuntu安装配置tftp服务器

    Ubuntu安装配置tftp服务器 实验环境 ubuntu 1604 x64 一 安装配置 建立tftp目录 sudo mkdir tftpboot sudo chmod 777 tftpboot 安装客户端和服务器 sudo apt ge
  • 大数据量的冒泡排序 (计次数)

    题目描述 给定一个包含从0到n 1各一次的数组 若使用冒泡排序将其排为升序 问其中需要进行多少次交换 输入 测试数据有多组 每组由两行组成 第一行包含正整数n n lt 5000 下一行包含从0到n 1的n个整数的序列 输出 对于每组测试数
  • [论文分享] Adversarial Training for Raw-Binary Malware Classifiers

    Adversarial Training for Raw Binary Malware Classifiers USENIX 2023 Keane Lucas Carnegie Mellon University Samruddhi Pai
  • 面试题61. 扑克牌中的顺子(java+python)

    从若干副扑克牌中随机抽 5 张牌 判断是不是一个顺子 即这5张牌是不是连续的 2 10为数字本身 A为1 J为11 Q为12 K为13 而大 小王为 0 可以看成任意数字 A 不能视为 14 示例 1 输入 1 2 3 4 5 输出 Tru
  • hex文件格式学习记录

    hex文件 hex文件是什么 hex文件的数据结构 按照记录类型具体分析 Mermaid Flowchart hex文件是什么 它是由一行行符合Intel HEX 文件格式的文本所构成的ASCII 文本文件 每一行包含一 个 HEX 记录
  • Java实验三 基于GUI的网络通信程序设计【代码构建逻辑】【双向通信】【超多细节优化!!】

    写在前面 这次实验代码的构建主要是更加熟练的运用socket网络编程 文件输入输出流 GUI设计 容器的使用 多线程的运用等等多方面的知识 是综合类题型 做完受益身心的类型 题目如下 编写程序完成以下功能 1 设计一个基于GUI的客户 服务
  • iOS的几个特效实现思路

    最近看一个app的源码 发现基本没有用第三方的开源组件 但是特效也做得不错 总结一下实现的思路 简单的抽屉效果 效果如图 这种抽屉效果很常见 开源组件也很多 但是一般开源组件都对Controller的结构有要求 有时候不是很方便 原理主要是