首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS底层技术】- Dispatch Source

使用 创建 Dispatch Source 创建一个新分派源来监视低级系统对象和自动 ,malatic方式向调度队列提交处理程序块响应事件。...修改调度源。在这个参数传递NULL结果是未定义提交到源目标队列事件处理程序块。...(dispatch_object_t object); 滑动显示更多 取消 异步地取消分派源,防止任何进一步调用 事件处理程序块。...取消将阻止对事件处理程序块任何进一步调用 指定分派源,但不中断事件处理程序 正在进行区块时候,取消处理程序被提交到源目标队列 源事件处理程序已经完成,表明现在可以安全关闭了 源句柄(例如文件描述符或...取消调度源。在这个参数传递NULL结果是未定义

83830
您找到你想要的搜索结果了吗?
是的
没有找到

Human Interface Guidelines —— 概览

一致性(Consistency) 拥有一致性app通过使用系统提供界面元素,众所周知图标,标准文本样式和统一术语来实现熟悉标准和范例。 该app人们期望方式将特点和行为合并。...他们移动视图浏览下面的内容。 他们拖动和滑动内容。 他们切换开关,移动滑块,并滚动选择器值。 他们甚至可以翻阅书籍和杂志。...最好app在让用户做决定和直接避免不期望结果之间找到了正确平衡。 app通过保持交互元素熟悉性和可预测性,确定破坏性行为、使在进行取消操作变得容易,来让用户感觉自己在掌控大局。...---- 界面基本要素 大多数iOSapp都是使用UIKit组件构建,该组件是定义常用界面元素编程框架。该框架可让app在整个系统实现一致外观,同时提供高水平自定义。...Views:包含用户在app中看到主要内容,文本,图形,动画和交互元素。Views可以有滚动,插入,删除和排列等行为。 Controls:启动行动并传达信息。

73980

最新iOS设计规范四|3大界面要素:视图(Views)

这有利于提高我们工作效率,保证用户良好体验。 本文是iOS设计规范系列第4篇,介绍3大界面要素(栏、视图、控件)视图(Views)。首先让我们回顾一下iOS3大界面要素。...即警示框被取消,且不执行任何操作。如果你警示框没有“取消”按钮,至少保留这种取消警示框交互方式。...一般来说,集合非常展示基于图像内容。可以选择性地呈现背景和其他装饰性视图,用以区分项目的子集。 ? 集合支持交互性和动画。默认情况下,你可以点按选择、触摸并按住进行编辑,然后滑动进行滚动。...如果在你集合很难找到某个条目,用户会感到沮丧并失去兴趣。在内容周围使用足够填充,保持布局整齐并防止内容重叠。 集合方式不适用于文本信息,文本信息可以用列表。...八、滚动视图(Scroll Views) 滚动视图主要被用户用来去浏览那些像文档文本,集合图像等比显示区域内容。

8.4K31

最新iOS设计规范三|3大界面要素:栏(Bars)

iOS 13及更高版本,默认情况下,大标题导航栏不包含背景材质或阴影。另外,随着页面滑动,大标题转换为标准标题。 ? 隐藏大标题导航栏边框。...在iOS 13及更高版本,可以通过删除导航栏阴影来隐藏导航栏底部边框(当滑动内容区域时,边框会自动重新出现)。无边框样式在大标题导航栏效果很好,因为它增强了标题和内容之间联系感。...大多数搜索栏都包含一个删除关键词内容“清空”按钮。 适当时启用“取消”按钮。大多数专门搜索栏,都包含一个立即终止搜索取消”按钮。 ? 如有必要,请在搜索栏中提供提示和上下文。...搜索栏字段可以包含占位符文本,例如“搜索服装,鞋子和配饰”或仅“搜索”,提醒搜索上下文。带有适当标点符号简洁单行提示也可以直接出现在搜索栏上方,提供指导。...允许用户隐藏侧边栏以为其内容创造更多空间,并使用内置边缘滑动手势再次显示侧边栏。避免在默认情况下隐藏边栏。 侧边栏标题保持简洁明了。省略不必要和多余词。

9.8K10

最新iOS设计规范六|10大交互规范(User Interaction)

在支持iOS设备上可以使用NFC从现实世界对象电子标签读取数据。例如:购物者可以识别店内标志访问优惠券,手机靠近公交车刷卡器可以进行扣费。...如果你APP有涉及到文件,请尽可能地淡化文件处理。 ? 除非取消删除,否则确保文件自动保存。一般情况下,不要让用户主动去保存文件。...在极少数沉浸式应用程序游戏)可能需要自定义屏幕边缘手势,这些手势优先于系统手势,即第一次滑动调用特定于应用程序手势,第二次滑动调用系统手势。...十、撤销和重做(Undo and Redo) 许多APP允许用户摇动设备撤消或重做某些操作,例如键入或删除这种方式启动时,警报会要求用户确认或取消删除,或重做操作。...虽然你可以通过编程方式为摇晃手势赋予多种含义,但这可能让用户感到困惑和无法预测。 谨慎提供撤消和重做按钮。当APP提供多种方法来执行相同任务时,这会令人困惑。

4K30

那些年苹果做错设计

3. iOS10将锁屏界面调出相机方式改为向左滑动屏幕调出,此操作麻烦,效率低,尤其在有消息通知场景下,更加难以在锁屏界面调出相机。...iOS10将iOS9在锁屏界面调出相机交互方式,由触摸相机图标向上滑动改为左滑屏幕调出,有几点明显体验问题: 1.操作前没有暗示,用户无法直观预知锁屏界面相机调出方式,需要有很高学习成本,去学习这个操作...但iOS6多任务界面,只利用了屏幕下方不到1/4区域,用于切换最近程序,既然用户主要操作就只有左右滑动切换最近程序,为什么不能全屏操作,委屈用户手指在下方那一点区域操作,且点击想打开程序,还得非常精准小心翼翼点...iOS10将删除应用的确认对话框,【删除】Button位置从左侧移至了右侧,同时从蓝色加粗,变更为了红色加粗,增强了删除操作视觉提示。...iOS对话框操作按钮一般原则是:主要操作在右,取消操作在左。而删除应用的确认对话框,一直以来都是逆向设计,将【删除】置于左边,【取消】在右边。现在这个改动,证明他们之前逆向设计是有问题

83430

苹果发布 iOS 16 公开测试版,一起来看看这几项新功能

安装 iOS 16 公开测试版,可以直接在 iPhone 上注册免费 Apple Beta 软件计划。...新锁屏库展示了一系列锁屏选项,包括带有实时天气状况新天气壁纸和提供地球、月球和太阳系视图天文壁纸。iOS 16 包括对多种锁屏设计支持,允许您可以通过滑动在您收藏夹之间切换。...Apple 允许您在发送后长达 15 分钟内编辑或取消发送 iMessage。 编辑或取消发送消息,您只需点击并按住气泡并在出现菜单中选择适当选项。...Apple 上次在 2016 年在 iOS 10 锁定屏幕上提供全屏音乐播放器。如果您不喜欢该功能,可以点击显示屏底部最小化音乐播放器并恢复为标准锁定屏幕壁纸。...该功能允许您和最多五个其他人在可通过 iCloud 访问共享库添加、编辑或删除照片。

1.7K20

Human Interface Guidelines —— 搜索栏(Search Bars)

自上次参加完回音分享会后,我下定决心要洗心革面乖乖打基础,于是开启了这个part,争取两个月不间断更新,写完Material Design与iOS组件(顺便学学英语),以便今后在使用时候完全不虚...当显示在navigation bar时,search bar可以固定到navigation bar,以便始终可以访问,或者可以collapse search bar,直到用户向下滑动才显示。...文本区域没有人们期望标准搜索栏外观。 ·启用清除按钮。 大多数搜索栏都包含一个清除按钮,用于删除该区域内容。 ·适当时启用取消按钮。 大多数专用搜索栏包含一个立即终止搜索取消”按钮。 ?...左:清除按钮    右:取消按钮 ·如有必要,请在navigation bar展示提示和上下文。...Navigation bar区域可以包含占位符文本,“搜索服装,鞋子和配件”或简单地“搜索”——作为正在搜索上下文提醒。 带有适当标点符号简洁单线提示也可以直接出现在搜索栏上方提供指导。

1.2K80

Ask Apple 2022 与 SwiftUI 有关问答(下)

如果你渲染许多相关控件,使用 Form 会在 iOS 和 macOS 上有最好默认体验。...定制 ListQ:是否有办法完全可定制方式使用 List ,这样我就可以实现删除缩进、分隔线,甚至更改整个列表背景等操作? 目前,我总是去找 LazyVStack 来代替。...在 SwiftUI 4 ,可以使用 .scrollContentBackground(.hidden) 隐藏列表默认背景searchableQ:是否有办法在.searchable() 修饰器编程方式设置搜索字段焦点...A:你可以使用 dismissSearch 环境属性编程方式取消搜索字段。目前还没有 API 可以程序化地将焦点转至搜索字段。...image-20221023171100484滚动速度Q:有好方式在 List 和 ScrollView 滑动时监听滑动 velocity 值么?

14.7K30

移动端测试通用覆盖点

安装/卸载 真机上安装、卸载、高版本覆盖安装、低版本覆盖安装、卸载后安装高版本; 安装关注点:版本号、渠道号、数字签名(用抓包工具辅助查看)、安装成功后启动向导、安装过程对意外情况处理(取消、死机、...、卸载后安装高版本; 在线升级:升级提示、取消更新/强制更新、后台更新(ios自动更新)、跨版本升级、升级过程异常情况处理(取消、死机、重启、断电、内存不足、断网)、升级进度、不同网络下升级; 第三方软件支持...: 无网络测试; 弱网测试; 外网测试; 界面易用性测试: 符合android或ios体验规范; android体验规范:长按弹出删除选项(一时想不起来还有哪些,平时还是多做总结); ios体验规范:...左滑弹出删除选项、左右滑动可翻页 符合用户体验规范: 是否有空数据界面设计,引导用户去执行操作。...在没有用户明确许可前提下不损坏删除个人信息管理应用程序任何内容 应用程序读和写数据正确。

1.1K41

iOS底层 之 多线程原理(上)

如果两个线程试图同时操作相同数据结构,一个线程可能会破坏结果数据结构方式覆盖另一个线程更改。...OS X v10.5 引入了对在线程(主线程除外)上执行选择器支持,这是一种在线程之间进行通信便捷方式。(iOS 也提供此支持。)...当您这种方式进行通信时,您可能仍然需要某种形式同步,但它比在两个线程之间设置通信端口更简单线程。...线程分配内存可能会泄漏,并且线程当前使用任何其他资源可能无法正确清理,从而在以后产生潜在问题。 如果您预计需要在操作中间终止线程,则应从一开始就设计线程响应取消或退出消息。...响应取消消息一种方法是使用运行循环输入源来接收此类消息。清单 2-3显示了此代码在线程主入口例程外观结构。(该示例仅显示主循环部分,不包括设置自动释放池或配置执行实际工作步骤。)

50230

iOS-可交互滑动TabBarController

1.先看一下效果 左右滑动交互TabBarController 2.在iOS7.0以前,实现这样效果,只有自定义TabBar了,但这很麻烦。...而在iOS7.0以后,苹果在UITabBarControllerDelegate增加了下面两个代理方法: /** * 实现该代理,即可以实现自定义各界面切换时动画(平推,缩放,淡入淡出等)...* 返回一个自定义动画百分比控制器,控制当前动画进行百分比。...,注意:该方式只有iOS8.0才有,如果适配iOS8.0以前,请用fromViewController.view获取 UIView *fromView = [transitionContext...*)gesture{ // 通过手势在屏幕滑动距离来判断当前执行百分比 UIView *transitionContainerView = self.transitionContext.containerView

1.7K40

iOS 9人机界面指南(四):UI元素(下)- 腾讯ISUX

API注释 想要了解如何在代码定义信息按钮,可以参考UIButton. iOS包含了两种信息按钮样式:适用于浅色内容上深色按钮,以及适用于深色内容上浅色按钮。...如果用户可以在你应用程序打开超过20个视图,请考虑给视图一个不同展示方式提供关于视图详细信息,使其支持不连续导航。 在打开视图底部边缘和屏幕底部边缘里垂直居中页面控件。...刷新控件: 看起来类似活动指示器 可以出现在标题中 默认状态下不可见,当用户在表格上缘往下拖拽刷新内容时才出现 使用刷新控件,给用户提供一个一致方式来了解一个表格或其他视图内容更新,而不需要等待下一个自动更新...4.3.15 步进器 步进器可以常数为幅度来增减当前数值。 ? API提示: 想要了解更多如何在代码定义步进器,可以参考UIStepper....设计文案时可以遵循以下指南: 跟其它所有按钮一样,使用标题式大写,而且不需要标点符号 尽可能使用与警告文案直接相关动词或动词词组,取消(Cancel)”,”查看全部(View All)”,”回复

13.2K30

为何大家这么青睐iPhone,iOS 设计神细节有哪些?

在现实世界,iPhone 走入了千家万户,但是你是否深入了解了 iPhone 这部功能强大个人设备呢!本篇文章带你领略一下iOS设计一些神细节。...「3D Touch」 3D Touch 功菜单会根据出现在图标上下方定位自动调整功能项顺序,确保最靠近手指一项始终为菜单第一个功能。...「虚拟键盘」 iOS 虚拟键盘上 Dictation 按键在启用和关闭多语言输入后颜色是有所不同。...「计算器」 横屏后变成科学计算器, 输入错误时在数字框上向 右/左 滑动,一次 删除/撤销 一位。 「顶栏图标」 调节到飞行模式时,飞机会从顶部状态栏左侧飞入。...「滑块」 iOS 8 控制中心亮度和音量滑块用力往边上撞会有反弹效果 「滑动解锁」 升级到 iOS 8 iPad,在开启自动旋转且横屏锁屏状态下,右滑同时,将屏幕竖过来。

85220

点进来你就懂iOS数据存储

下面是iOS几种针对轻量级数据存储方式: NSUserDefault 写入文件 归档 Keychain 1、NSUserDefault 苹果提供一个单例类,只能用于存储一些轻量级数据或者APP...Plist文件二进制格式文件数据则可以使用Plist文件编辑器(plutil)进行查看或修改,即使在一个没有越狱设备上,plist文件也可以通过工具iExplorer获取。...对于编码、未加密或弱加密形式存储敏感信息就可能会导致敏感信息泄露了。如果存储一些相对较为敏感数据可以采用Keychain方式存储。...Keychain常用来存储账号、密码、用户信息、银行卡资料等信息,Keychain会加密方式存储在设备。...keychain 存储还有一个特点是相同TeamD开发app如果Group方式存储到keychain数据,App之间是都可以访问到这个数据

2K10

功能测试之app测试要点提取与分析

安装:安装过程是否可以取消,是否可以正常运行,空间不足响应提示   安装后:是否可以卸载(1)通过桌面卸载(2)通过软件设置卸载   常见bug:在ios手机上有个应用安装时未安全安装,终止安装后,...未完成安装应用图标一直显示在手机上,并且无法成功删除。   ...卸载是否支持取消功能,单击取消后软件卸载功能是否正常。例如:ios在卸载不支持取消,安卓可以取消卸载。   ...点击后消息栏消失 UI界面测试   确保产品UI符合产品经理制定原型图与ui设计效果图/切图一致   依据经验、用户使用习惯、参考其他成熟产品,界面可优化bug   一般涉及界面(菜单、对话框...:安装APP后加载页/动态视频显示,分享页面的产品logo显示   注意: UI界面测试和web思路基本一致 兼容性(操作系统、屏幕尺寸、分辨率)   在不同操作系统正常使用( Android和IOS

2.5K30

多线程在iOS开发应用

NSOperationQueue常见方法、最大并发数、操作依赖、队列取消\暂停\恢复 一、概念 1、进程:系统中正在运行一个应用程序 2、线程:1个进程想要执行任务,必须得有线程。...多线程并发执行,其实就是CPU快速地在多条线程之间调度(如果CPU调度时间足够快,就造成了多线程并发执行假象) 二、多线程在iOS开发应用 1、什么是主线程:一个iOS程序运行之后,默认会开启一条线程...2.2 iOS多线程实现方案 公众号:iOS逆向 iOS支持多个层次多线程编程,层次越高抽象程度越高,使用也越方便,也是苹果最推荐使用方法。...:是基于OC实现,NSOperation面向对象方式封装了需要执行操作,不必关心线程管理、同步等问题。...Grand Central Dispatch(简称GCD,iOS4开始支持):提供了一些新特性、运行库来支持多核并行编程,它关注点更高:如何在多个cpu上提升效率 2.4 线程状态 公众号:iOS逆向

1.3K30
领券