排序
DIV 水平垂直居中
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <title>Title</title> <link rel='stylesheet' type='text/css' href='cssstudy.css'> </head> <...
SwiftUI List 中多个按钮 button 同时触发
问题描述 在 list 中的一列中设置多个按钮会出现同时触发的问题 问题演示 解决方案 增设按钮的类型属性 .buttonStyle(.borderless),也可以选择其他的按钮类型。 Button('Add to Red') { redSco...
epub格式解析
文件组成 将 EPUB 格式的电子书的扩展名修改为 zip 后,可以通过解压软件进行解压。解压后,有几种不同的形式,如下所示 一个未经加密处理的epub电子书由以下部分或者文件组成: mimetype 文件 ...
自定义时序曲线
SwiftUI 可以精细控制动画的运动方式,完全自定义贝塞尔路径,匹配我们想要的加速度或者减速度。 比如,我们创建一条时序曲线,在动画中心部分非常缓慢,但在边缘部分剧烈跳动。 extension Anim...
布局(一) – 布局算法
布局的具体算法描述如下:父视图向子视图提供一个建议尺寸。⼦视图基于这个建议尺⼨决定⾃⼰的尺⼨,如果这个⼦视图还有⾃⼰的⼦视图,从步骤 1 开始递归。⼦视图将它的尺⼨报告给⽗视图。⽗视图...
布局(二) – 叶子视图
叶子视图 这里是指没有子视图的视图。Text默认情况下,Text 视图会去适应任意的建议尺⼨,设法让⾃⼰适配 (不超过) 这个尺⼨。Text 使用的策略顺序如下:将⽂本分成多⾏ (英⽂内容按单词换⾏)单...
布局(三) – 视图修饰符
视图修饰符总是把已经存在的视图包装到另⼀层中去:修饰符会变为它所作⽤的视图的⽗视图。Padding.padding 修饰符使⽤它收到的内边距值来修改建议尺⼨,它会从建议尺⼨的对应边上减去这个边距值...
布局(四) – 容器视图
HStack 和 VStack⽔平和竖直堆栈在布局⼦视图时采⽤的⽅法相同,只是对应的轴不⼀样。以 HStack 为例。HStack(spacing: 0) { Color.cyan Text('Hello, World!') Color.teal } 如果我们提供⼀个...
布局(五) – 对齐
默认情况下,⼏乎所有的视图都会把⼦视图居中对⻬。Text('Hello') .frame(width: 100, height: 100) frame 修饰器拥有⼀个默认值为 .center 的 alignment 参数。这 100⨉100 的区域中,⽂本将被...