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

iOS开发常用之网络

LxTabBarController - 改变了原生tabbar切换标签生硬效果,并加入滑动切换手势(有和界面上其它手势发生冲突风险,可根据具体项目予关闭),swift版本。...一个用于统一管理导航栏转场以及推或者弹出时候使动画效果更加顺滑通用库,并且同时支持竖屏和横屏。...JXT_iOS_Demos - AboutNavigationBar:一些关于navigationBar非常规但是较为实用操作,包括利用毛玻璃,动态透明,动态隐藏,以及头视图动态缩放,并同时涉及了...KtColor.swift - 利用Swift语法特性简化创建UIColor对象过程。具体文章可以参考博客:UIColor遇上Swift。...TZStackView - OS 9 UIStackView功能模拟实现于iOS 7 / iOS 8内。 LayoutTrait - swift一个小类库。

23.5K10

Ios常用第三方框架(二)

图表 PNChart - 国内开源作者,动态图表。 swift-linechart - 功能完整、实用折线图组件。使用方便,参数配置简单。是不可多得优质组件--swift。...Eureka.swift - Eureka 是 XLForm Swift 移植版本, 一个可以帮助开发者们快速构建 iOS 各种复杂表单库, 具有较高可扩展性, 方便自定制样式。...此项目应该只为演示或学习之用,没有服务器 -- swift。 Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本环信。...LxTabBarController - 改变了原生tabbar切换tab生硬效果,并加入滑动切换手势(有和界面上其它手势发生冲突风险,可根据具体项目予以关闭),swift版本。...FDStackView - 可以将 UIStackView 最低支持版本拉低到 iOS6,无需配置,没有代码侵染,扔到工程里后直接用系统 UIStackView API 即可,同时兼容 Storyboard

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

IOS 生态如何做多端适配

IOS 中写页面有两种方式,一种通过 code,直接在对应 viewController 中描述对应元素特性即可(这种方式在大型项目中用很多;另外一种是直接利用 storyboard,通过 UI...其中在布局上比较重要IOS constraint 概念,通过限制一个 view 在上下左右位置 和 自身尺寸大小就可以实现布局定位效果。...目前,IOS 提供了 trait 环境变量,用来指明当前屏幕横竖和比例关系。trait 是用来描述屏幕大小、横竖屏一个概念集合。...也就是说有 A、B 两个 app ,排布只会有: A = 1/3, B = 2/3 B = 2/3, B = 1/3 而对于两个 app 默认 trait 都是 wChR,也就是常规 iPhone...Horizontal 分屏 iPad 处于横屏,整体宽度被拉长了,所以分屏选择性就多了一个 等分, 1:1。现在 iPad 在横屏下分屏就有 1:2 和 1:1 两种排列。

1.5K10

iOS9新特性——堆叠视图UIStackView

iOS9新特性——堆叠视图UIStackView 一、引言         随着autolayout推广开来,更多app开始使用自动布局方式来构建自己UI系统,autolayout配合storyBoard...二、在storyBoard上初识StackView         UIStackView一个管理一组堆叠视图控制器类视图,所谓堆叠视图一种平铺式线性布局方式,不可重叠,布局方向也不可交错,如果你做过...例如,我们如果需要一个如下效果布局,在屏幕中间摆放几个大小一致色块,无论屏幕朝向如何,位置都不会变化,并且可以向其中添加和移除色块数量: ? ?...,     //基线对,水平布局有效     UIStackViewAlignmentLastBaseline,  } NS_ENUM_AVAILABLE_IOS(9_0); 在上面的例子中,我们设置了对方式为充满..., UIStackViewDistribution) {     //充满,只有一个控件可以使用     UIStackViewDistributionFill = 0,     //平分充满,每个控件占据相同尺寸排列充满

1.8K10

Flexbox布局杂谈

甚至苹果官方在iOS9时候推出UIStackView,采用也是FlexBox思路来实现布局。...使用Flexbox布局视图元素叫Flex容器(flex container),子视图元素会自动成为容器成员,叫做Flex项目(flex item)。...Flexbox布局主要思想是,通过 Flex 容器设定属性来改变内部 Flex 项目的宽高,并调整 flex 项目的位置来填充 flex 容器可用空间。 ?...它和iOS中自带UIStackView类似,布局思路参照了Flexbox,比如horizontalAlignment、alignItems、flexWrap等属性很容易和Flexbox对应上。...Flexbox算法 Flexbox算法主要思想是:让flex容器能够改变flex项目的宽高和顺序,以填充可用空间,flex容器可以通过扩大flex项目来填充可用空间,或者缩小flex项目来使其不超出可用空间

2.1K30

iOS 应用体积缩小一半秘籍:妥善运用动态框架

在实践当中,特别是大家应用软件用到 Swift Packge Manager 提供现代多模块架构,对模块动态链接往往会被隐藏起来。 所以这里我们需要做一点调整。...期间我们会随时分析调整对于应用程序大小影响。...将新包导入至现有动态库中。 创建框架 这里我创建了一个名叫 EmergeAssets 新 Xcode 项目,并把资产目录和 JSON 资源全部转移过去(记得检查目标的成员身份!)。...这里阶段也就是 dyId 在启动链接动态框架过程。除了链接我们自己 EmergeUI 框架之外,dyId 还链接了 SwiftUI、Foundation 以及 Swift 本身!...打包一个动态框架并不困难,但我们得经历很多莫名环节才能正确删除重复资产,并让应用程序保持“纤细苗条”。

12110

iOS 优化 - 瘦身

iOS 优化将是一个专题,其中会包括包体积优化(瘦身)、启动时间优化、UI 优化等等。那么这个专题开篇就从瘦身开始吧。 APP 大小是分为 APP 下载大小和安装大小两个概念。...下载大小是指 App 压缩包(也就是 .ipa 文件)所占空间,用户在下载 App ,下载是压缩包,这样做可以节省流量; 压缩包下载完成后,就会自动解压,解压过程也就是通常所说安装过程;安装大小就是指压缩包解压后所占用空间...顺便给大家说下苹果将下载大小限制由 100M 调整到 150M 原因是什么?...主要原因就是 Uber 当年用 Swift 重构开发 APP ,随着业务增长,后期发现实在无法再将 APP 尺寸降到 100M 以下,只能联系苹果让将下载大小提升到 150M,同时苹果 Swift...目前就有这样一个工具 R.swift[4]一定意义上将资源变成强类型, 类似于 Android 开发中 R 文件。 可利用fdupes[5]查找项目重复文件。

2.4K20

正经分析iOS大小优化

安装包构成 iOS打包出来ipa,本质上是一个压缩包,所以可以将.ipa后缀改为.zip,然后进行解压缩,之后会得到一个Payload文件夹,里面又一个xxx.app文件,这个xxx.app就是包含所有文件包了...,这个选项设置为YES,每个源文件在编译成.o文件,编译参数多了-g和-gmodule,意思是generate complete debug info,所以产生.o文件会大,从而最终生成可执行文件也就会变大...因为动态库和静态库链接方式不同,动态库链接不复制,在程序启动后用动态加载,所以是单独放在Framework文件夹下;而静态库是链接时会被完整复制到可执行文件中。...大图片可以考虑将图片转成WebP。WebP是Google公司一个开源项目,能够把图片压缩到很小,但是肉眼看不出来差别,目前iOS常用图片显示类库都用支持该格式解析拓展。...流程规范是用于保证每个项目开发者知晓开发中注意什么,养成好开发习惯,避免造成包大小突然变大。 引入新三方库,要考虑是否已有同类型库,是否可以自己实现,是否会造成体积增大。

5.3K61

声明式 UIKit 在有赞美业实践

方便布局方式,通过布局来接管视图大小和位置,使得各个视图节点得到了很好解耦,大大地提高了 UI 代码可移植性。...在 iOS 9 之后,UIKit 提供了 UIStackView 就是通过类似 FlexBox 形式,接管视图之间布局规则,减少对视图操作,来达到快速布局效果。...位置和大小被布局接管后,视图之间依赖没有了,转化为添加视图顺序和各自属性,会发现声明式API在布局系统中能非常好地契合。...然而有赞美业是有赞最早迁移到 Swift 项目,迁移 Swift代码,对 C++ 兼容其实有一定局限性,若过多使用 C++,在代码中也不能体现 Swift 优雅性。...SwiftUI 由于 iOS 13 限制,以及生态不完善,也还没达到我们在项目中能直接上手使用程度,前期版本迭代也会因为不稳定等因素可能会出现 API 大改。

1.4K30

Swift 周报 第二十一期

Swift 6 可以考虑更改默认语言语义以提高性能可预测性,例如通过调整有关变量生命周期规则,使某些带有运行时成本功能选择加入而不是选择退出,或调整类型推断规则以启用 一个性能更好类型检查器实现。...包生态系统可扩展性:Swift 语言和社区长期健康取决于拥有一个强大包生态系统。Swift 语言和包管理器可能需要进行调整,以便更轻松地扩展包生态系统。...语言工作组对更改默认反射行为也有类似的担忧;即使默认更改受语言版本限制,我们希望开发人员采用 Swift 6 以获得静态并发安全和其他更改好处,并期望他们也审计项目动态行为以防止意外反射依赖项将是一个障碍...Reflectable 可能也适合这个系列,因为编译器设置为发出所有反射元数据,它不需要明确“一致性”;虽然它不是专门针对类型值布局约束,但它确实对该类型元数据布局施加了约束。...58同城iOS大小治理工具解密[13] 摘要: 本文通过58同城包大小治理实践经验,来讲解如何解决混编环境下OC/Swift无用类、无用资源、重复资源等检测问题,同时结合业内常见段迁移、链接优化

2.1K20

iOS之深入解析Xcode 13正式版发布40个新特性

; 可以在构建阶段使用平台过滤器,并为所有支持平台定位依赖项; 发生构建失败,xcodebuild 现在会在构建日志末尾摘要中显示每个失败命令目标和项目名称; 脚本阶段或自定义构建规则声明不属于构建输入一部分...七、Core ML Xcode Core ML 模型编辑器现在支持新 Core ML 包格式 .mlpackage,以及对元数据和描述直接编辑; 部署目标是 macOS 12、iOS 15、...十、文档 Xcode 可以根据 Swift 代码中注释以及随附文章生成文档; 编写项目文档,Code completion 会提供建议。...; 在视图控制器大小检查器中使用 Freeform 模拟度量 Storyboard 场景现在可以直接在画布中使用调整大小旋钮调整大小; NSButton 斜角类型在 macOS 12 中支持斜角颜色...三十二、Create ML Create ML 框架现已在 iOS 和 iPadOS 15 中可用,为构建利用设备 ML 动态应用程序体验开辟了新机会。

8.7K40

Ios常用第三方框架(一)

模糊效果 FXBlurView - 是一个UIView子类,支持iOS5.0以上版本,支持静态、动态模糊效果,继承与UIView模糊特效。...第二个Demo模拟了一个经典FlowLayout,任意一个元素隐藏,底下元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。...view隐藏时候也隐藏autolayoutNSLayoutAttribute - view隐藏时候也隐藏autolayoutNSLayoutAttribute,从而不用大量代码工作。...FXLabel还提供了更多控件,可以对字体行距、字体间距等进行调整。 WFReader - 一款简单coretext阅读器,支持文本选择、高亮以及字体大小选择等。...UUColorSwitch - Switch 开关动画效果,打开开关,Switch可实现平滑渲染过渡到父视图效果。

5.4K31

iOS多设备适配简史以及相应API支撑实现

iOS11出来后尤其是iPhoneX设备推出,iPhoneX设备特殊性表现为顶部状态栏高度由20变为了44,底部还出现了一个34安全区,横屏还需要考虑左右两边44缩进处理。...NSLayoutConstraint约束以及iOS9上封装改进 在iOS6代苹果推出了AutoLayout技术解决方案,这是一套采用以相对约束来替代硬编码解决方法,然而糟糕方法名和使用方式导致使用成本和代码量急剧增加...在iOS9中还提供了一个UIStackView类来简化那些视图需要从上往下或者从左往右依次添加排列场景,通过UIStackView容器视图使用就不再需要为每个子视图添加冗余依赖约束关系了。...占位视图类UILayoutGuide 在iOS9以前两个视图之间间距和间隔是无法支持浮动和可伸缩设置,以及我们可以需要在两个视图之间保留一个浮动尺寸空白区域,解决方法是在它们中间加入一个透明颜色...这是苹果在iOS8中推出来一个概念。

1K30

iOS 优化 - 启动优化

Binding:引用动态库其他函数或者变量,当前 mach-o 文件会指向其他 dylib。...如果是 CocoaPods 管理项目调整 Pods-XXXX.debug.xcconfig 文件中OTHER_LDFLAGS配置顺序即可;(默认应该是按照首字母排列) 如果是原生项目,直接调整Build...CocoaPods 早期版本管理 Swift 项目,只能以动态形式去引入三方、二方库; 项目中有App Extension,可以利用动态库一定范围内共享特性去减少包体积 ......结合我实际项目项目一个Swift-OC混编项目,主体为 Swift,CocoaPods 管理库方式为动态库,本地调整为静态库,具体方式为: 去掉use_frameworks!...二进制重排; 换Swift吧,利用拥有的函数直接派发方式; 二进制重排这个估计大家都很清楚了,简单说下吧。

3.6K20

为什么SwiftUI视图使用结构体?

如果您曾经为UIKit或AppKit(AppleiOS和macOS原始用户界面框架)编程,您会知道它们使用类而非结构体来构造视图。...在UIKit中,每个视图都来自一个名为UIView类,该类具有许多属性和方法:背景色,确定放置方式约束,用于将其内容呈现到其中图层等等。...struct or class 通常这不是问题,但是有一个名为UIStackView特定子类,它类似于SwiftUI中VStack和HStack。...在SwiftUI中,我们所有的视图都是简单结构体,几乎可以自由创建。想想看:如果您制作一个仅包含一个整数结构体,则结构体整个大小就是:一个整数。没有其他。...您查看可以作为视图事物,可以看到这一点。我们已经使用了Color.red和LinearGradient作为视图——包含很少数据简单类型。

3.1K10

Swift 周报 第十四期

(新浪数码) App 和 App 内购买项目即将实行价格和税率调整 最早于 2022 年 10 月 5 日起,下列地区 App Store 上 App 及 App 内购买项目 (自动续期订阅除外)...苹果确认 iOS16 存漏洞影响新机激活 据 MacRumors 看到一份备忘录,苹果称,“iOS 16 有一个已知问题,可能会影响到使用开放 Wi-Fi 网络设备激活”。...实时活动功能和 ActivityKit 将包含在今年晚些时候推出 iOS 16.1 中。 iOS 16.1 发布候选版本可用时,您即可将配置了实时活动功能 App 提交至 App Store。...但是, conformance 存在,除非声明确实符合协议要求,否则程序格式错误。...SwiftUI 之 HStack 和 VStack 切换 摘要: 本文介绍了当涉及到水平和垂直变体( HStack 和 VStack ),我们需要如何在这两者之间动态切换。

3.3K10

OC底层探索26-App启动时间优化OC底层探索26-App启动时间优化

检测iOS项目中未使用方法文中有详细介绍,工具和使用方式。 2.2 减少+load方法 方法交换等好多操作多多少少会使用+load方法来执行一些操作,但是并不是每个方法都需要在+load那么早。...可执行文件Mach-O->显示包内容->Frameworks中可以查看项目中使用到动态库。 因为项目swift项目,所以有一些swift系统库。不过61个库还是吓自己一跳。...内存分页管理:所有的内存数据都被分割成 一页为单位页,应用虚拟内存被分为一页一页,首地址都为0。 内存页大小: MacOS 4k iOS 16k。...4.1 查看pageFault 缺页异常(pageFault):读取到没有加载到物理内存中一页触发;多次pageFault也会造成启动时间加长; iOS中每一页是16K大小,但是16K中,可能真正在启动时刻需要用到...如果这个符号加载顺序和符号调用顺序一致就解决了这个问题; 4.3 oreder.file-调整符号加载顺序 使用oreder.file,把启动方法调用顺序进行排列。

79730

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

accessibilityHidden 支持任意符合 View 协议元素,同时可以动态调整隐藏状态。...这正是 Swift Identified Collections[7] 项目存在意义。...自定义布局Q:我经常想根据列表中最长或最短文字来布置各种小组件。鉴于动态文本大小在应用程序运行时可能会发生变化,衡量给定字体文本大小最佳方法是什么?A:你好!我们新布局协议支持这个功能。...任何自定义布局完整实现都比我在这里帖子中快速勾勒出来要长,但总体思路是,你可以创建一个布局来查询子级理想大小并相应地对它们进行排序。...deprecated 版本是 Swift 框架作者一种沟通方式,即一个 API 不应该在新项目中使用,但在现有项目中继续使用也无妨。

14.7K30
领券