合集-iOS基础
摘要:在iOS开发中,涉及的UI组件和类非常丰富。本文将详细介绍UIPickerView的使用、注册界面中UITextField的处理、自定义键盘的实现、控制器的创建和管理、以及导航控制器的使用。 一、UIPickerView的简单使用 1. UIPickerViewDataSource 要使用UIPic
阅读全文
摘要:在iOS开发中,有一些系统文件和类是我们经常会接触并且必须熟悉的。这些包括Info.plist、UIApplication类及其代理,以及UIWindow。 一、Info.plist常见设置 1. 什么是Info.plist 在每一个iOS项目中,都会有一个名为"工程名-Info.plist"的文件
阅读全文
摘要:在iOS开发中,我们经常需要在键盘弹出或隐藏时执行一些特定的操作,例如调整视图的位置和大小,以确保元素不会被键盘遮挡。为此,我们需要监听键盘的状态变化,本文将详细介绍键盘通知的使用以及如何处理相关的事件。 一、键盘通知 系统在键盘状态改变时会发送一系列通知,我们可以通过监听这些通知来执行相应的操作。
阅读全文
摘要:在iOS开发中,不同对象之间的通信是非常常见的需求。主要有四种常用的方式来处理这种通信需求:通知(Notification)、代理(Delegate)、键值观察(KVO)和Block。本文将详细介绍这四种方式,分析其适用场景、使用方法、优缺点。 一、通知(Notification) 1. 通知中心(
阅读全文
摘要:UITableView 是 iOS 开发中广泛使用的组件,用于展示大量数据项。对于更好的用户体验,通常需要支持数据的动态更新、左滑操作和批量删除功能。本篇文章将详细介绍如何实现这些功能,并对背后的一些底层逻辑进行深入分析。 前期准备 项目初始化 创建项目:打开 Xcode,创建一个新的 iOS 项目
阅读全文
摘要:在 iOS 开发中,UITableView 是一个非常常用的组件,用于展示大量数据。同时,很多时候我们希望每个 UITableViewCell(简称 Cell)的高度能够根据内容自动调整。这篇文章将深入探讨如何使用纯代码自定义不等高的 Cell,并进行优化和性能分析。 主要步骤 创建自定义的 UIT
阅读全文
摘要:要深入理解 Objective-C 的 Runtime 机制,必须全面探讨其结构、功能和底层逻辑,这包括数据结构、消息发送流程、消息转发机制、技巧和高级功能等方面。 Objective-C 是一种基于 C 语言,加入了面向对象特性和消息传递机制的动态语言。其核心特性之一是运行时(Runtime)系统
阅读全文
摘要:在iOS开发中,NSTimer 是一个常用的工具,用于实现周期性任务。然而,在使用过程中,如果不注意管理内存,容易导致内存泄露问题,特别是当 NSTimer 针对 self 执行回调时。这篇文章将详细介绍如何通过一些技巧和封装来避免这些问题。 问题背景 以下代码创建了一个计时器,每隔3秒钟在控制台输
阅读全文
摘要:在 iOS 开发中,Key-Value Observing (KVO) 是一种 powerful 的机制,用于监听对象属性的变化。通过 KVO,可以在属性值发生改变时接收通知,从而实现响应式编程风格的开发。这篇文章将详细介绍如何使用 KVO 监听对象属性的变化,并分析其底层工作原理。 一、KVO 的
阅读全文
摘要:一、iPad简介 1. 什么是 iPad iPad 是苹果公司于 2010 年发布的一款平板电脑。它的定位介于苹果的智能手机 iPhone 和笔记本电脑产品之间。与 iPhone 一样,iPad 也搭载了 iOS 操作系统(如今为 iPadOS)。 2. iPhone 和 iPad 的区别 虽然 i
阅读全文
摘要:一、二维码的生成 从iOS7开始集成了二维码的生成和读取功能此前被广泛使用的zbarsdk目前不支持64位处理器 生成二维码的步骤:导入CoreImage框架通过滤镜CIFilter生成二维码 二维码的内容(传统的条形码只能放数字):纯文本名片URL // 1. 实例化二维码滤镜 CIFilter
阅读全文
摘要:一、远程音频播放(<AVFoundation/AVFoundation.h>) #import <AVFoundation/AVFoundation.h> /** 播放器 */ @property (nonatomic, strong) AVPlayer *player; #pragma mark
阅读全文
摘要:一、简介 简单来说,音频可以分为2种音效又称“短音频”,通常在程序中的播放时长为1~2秒在应用程序中起到点缀效果,提升整体用户体验 音乐比如游戏中的“背景音乐”,一般播放时间较长 播放音频可以使用框架AVFoundation.framework 二、音效 1、音效的播放 // 1.获得音效文件的路径
阅读全文
摘要:一、简介 1、如何访问用户的通讯录1)在iOS9之前有2个框架可以访问用户的通讯录AddressBookUI.framework提供了联系人列表界面、联系人详情界面、添加联系人界面等一般用于选择联系人 AddressBook.framework纯C语言的API,仅仅是获得联系人数据没有提供UI界面展
阅读全文
摘要:一、传感器 1、什么是传感器传感器是一种感应\检测周围环境的一种装置, 目前已经广泛应用于智能手机上 传感器的作用用于感应\检测设备周边的信息不同类型的传感器, 检测的信息也不一样 iPhone中的下面现象都是由传感器完成的在地图应用中, 能判断出手机头面向的方向一关灯, iPhone会自动调整屏幕
阅读全文
摘要:一、内存分析 1、静态内存分析(Analyze)不运行程序,直接对代码进行内存分析,查看代码是否有内存泄露优点:分析速度快,并且可以对所有的代码进行内存分析缺点:分析结果不一定准确(没有运行程序,根据代码的上下文语法结构)注意:如果有提示有内存泄露,一定结合代码查看代码是否有问题 静态内存分析,潜在
阅读全文
摘要:iOS 支付宝集成指南 支付宝作为第三方支付平台,广泛应用于各类移动应用程序中,提供了一种便捷的支付方式。本文将详细介绍如何在 iOS 应用中集成支付宝,以及集成过程中需要注意的事项和底层逻辑分析。 一、什么是支付宝? 支付宝是一个第三方支付平台,类似于应用内购(IAP)。不同的是: 内购:用户将钱
阅读全文
摘要:一、iOS 换肤功能 1. 换肤功能的思路 实现换肤功能的几点思路: 解决方案1:基于颜色的图片命名规范 问题1:每套图片的文件名必须遵循“颜色+名称.png”格式。 问题2:如果将某一图片应用到其他皮肤时会比较麻烦。 解决方案2:利用 Bundle 不同皮肤的图片文件保存在不同的 Bundle 中
阅读全文
摘要:一、UIDynamic 1、简介什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象重力、弹性碰撞等现象 物理引擎的价值广泛用于游戏开发,经典成功案例是“愤怒的小鸟”让开发人员可以在远离物理学公式的
阅读全文