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

iOS文本布局探讨之二——关于TextKit框架中的字体描述

二、iOS系统中的动态字体         所谓动态字体,是指在应用使用中,用户可以动态调整字体的风格字号等。...使用UIFontDescriptor类中的如下方法可以创建动态字体: //创建动态字体的字体描述类实例 + (UIFontDescriptor *)preferredFontDescriptorWithTextStyle...:(NSString *)style; UIFont类中的如下方法可以字体描述类转换成UIFont字体: + (UIFont *)fontWithDescriptor:(UIFontDescriptor...)matrix; CGAffineTransform是一个结构体,其用于文本的控件变换十分强大,在CoreAnimation框架中有CATransform3D这个结构体,CGAffineTransform...* label = [[UILabel alloc]initWithFrame:CGRectMake(20, 100, 280, 400)]; label.backgroundColor =

1.3K30

【 iOS 应用开发 】 UIKit 控件 ( UIView 属性 | storyboard 设置 | 模拟器 | 拖线关联 | tag | 软键盘操作 | 颜色值 | 代码生成控件 | 动画设置 )

鼠标移动到 对象库 面板的上边缘, 可以 扩大 对象库 面板框 大小; ---- ( 2 ) iOS 常用 控件 iOS 常用控件 : 1.UILabel : 文本标签 控件, 显示 一个 字符串 文字...; 4.加法按钮 : 点击按钮, 将用户在 UITextField 输入的字符串转为 int 类型, 相加, 结果转为字符串显示在 最后一个 UILabel 中; ---- ( 3 ) 界面编辑...中的属性; 4.创建 Label 属性 并关联界面 : 在 ViewController.h 中定义 Label 属性 @property (nonatomic, weak) IBOutlet UILabel...* resultLabel; , 除了类型 UILabel 与上面不同之外 其它一样; ---- ( 6 ) 软键盘设置 软键盘设置 : 1.虚拟机软键盘弹出设置 : 虚拟机默认是使用电脑的键盘,...;; 4. int 类型转为 NSString 类型 : 使用 NSString 的 stringWithFormat 方法处理, [NSString stringWithFormat:@"%d",

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

iOS坐标系探究

所以按照UILabel.layer默认的坐标(0, 0),在左上角进行了绘制。 接着,我们尝试使用CoreText来渲染一段文本。...用我们在Windows常用的画图来参考,当我们使用画笔在白板中写字时,图形上下文就是画笔的属性设置、白板大小、画笔位置等等。...NSStringFromCGAffineTransform(CGContextGetCTM(context))); 其结果是CGContext default matrix [2, 0, 0, -2, 0, 200]; CGContextGetCTM返回是CGAffineTransform...仿射变换矩阵: 一个二维坐标系上的p,可以表达为(x, y, 1),乘以变换的矩阵,如下: 把结果相乘,得到下面的关系 此时,我们再来看看打印的结果[2, 0, 0, -2, 0, 200...也可以按照坐标系变换的方式去理解,左下角原点的坐标系相对y轴做一次垂直翻转,然后向上平移height的高度,这样得到左上角原点的坐标系。

2.7K30

产品设计之动态字体大小

而微信的字体大小并不会随系统的字体大小改变而改变,微信自己有设置文字大小的功能,在“我” –> “设置” –> “通用”-> “字体大小”中进行设置 ?...[3]一文让你彻底了解iOS字体相关知识 iOS中如果想实现字体大小UILabel的宽度进行自适应,可使用adjustsFontSizeToFitWidth,更多详情可参考这篇文章:详解UILabel...的adjustsFontSizeToFitWidth值 Android默认是跟随系统字体大小改变而改变的,那如果想避免受系统字体大小的影响,如何处理(4.0开始,系统提供修改字体大小功能)?...方法一、TextView的字体单位由sp改为dp; 方法二、在自定义的Activity中重写getResources方法; @Override public Resources getResources...text.html#allowfontscaling http://reactnative.cn/docs/0.31/text.html#allowfontscaling 而如果你想根据不同的屏幕大小使用不同的字号

1.6K30

iOS开发CoreGraphics核心图形框架之一——CGPath的应用

在Swift工程中,Apple使用Swift语言对CoreGraphics矿建进行了重构,CGPath,CGMutablePaht等都重新定义为了类。...rect,const CGAffineTransform * transform); //这个方法创建椭圆形路径 CGPathRef CGPathCreateWithEllipseInRect(CGRect...lineWidth:设置线宽 lineCap:设置线帽风格 可选参数如下: typedef CF_ENUM(int32_t, CGLineCap) { kCGLineCapButt, 默认的风格 线的端点精确到点...三、CGPath的路径绘制相关方法 //路径移动到一个作为起点 void CGPathMoveToPoint(CGMutablePathRef path,const CGAffineTransform...CGAffineTransform * m, CGFloat x, CGFloat y); //向路径中添加一段二次贝塞尔曲线 /* cpx:控制的x坐标 cpy:控制的y坐标 */ void CGPathAddQuadCurveToPoint

1.6K31

Swift 3.0 探索之 UILabel

QQ群 139852091) 正题 UILabel是我们开发中常用的控件了,我今天就拿它开刀,看一下我们在开发中常用的UILabel属性 创建已经常规设置 //let 变量名字 = 变量类型...直接引号 类似Java myLabel.font = UIFont.systemFont(ofSize: 20) //设置字体大小 myLabel.backgroundColor...�图1 NSAttributedString 富文本 我们还经常使用 Label 的一个属性是NSAttributedString 我们看一下这个在Swift里面怎么使用 ****当设置NSAttributedString...属性的时候,设置的text失效,其textColor、font等属性保留没有被改变的(OC Swift通用属性)**** //富文本设置 let attributeString...NSMutableAttributedString(string:"我是一个Label") //range NSMakeRange 从文本 XX位开始 开始 XX个字符 //字体大小

78130

1.注册或登录页面设计:UILabel,UIButton,UITextField

最初学iOS的时候苦于没有大神指点,全靠自己一摸索,确实走了很多弯路,不希望还有小伙伴跟我一样走过多的弯路。   ...这里是method的方法指定给新建的这个confirmButton 85 [self.view addSubview:confirmButton]; 86 } 87 88 //收回键盘...用语密码输入 text.secureTextEntry = YES; //设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉 text.backgroundColor =...//设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动 textFied.adjustsFontSizeToFitWidth = YES; //设置自动缩小显示的最小字体大小...这里是method的方法指定给新建的这个confirmButton [self.view addSubview:confirmButton]; 若要设置UIButton的背景图片时:

2.3K50

iOS文本尺寸自适应异步计算实现

从iOS官方的实现中可以看出文本算高会考虑简单文本字符串、属性字符串、字体大小、最大显示行数numberOfLines、段落信息、 段落的对齐方式、断字方式、段落的首行缩进、阴影偏移等等因素。...下面就是具体的实现代码: /// 使用此方法时请标明源作者:欧阳大哥2013。本方法符合MIT协议规范。...NSAttributedString对象 /// @param numberOfLines 指定最大显示的行数,如果为0则表示不限制最大行数 /// @param font 指定计算时文本的字体,可以为nil表示使用...这里原始逻辑乘以缩放比例得到物理像素,然后再取整,然后再除以缩放比例得到可以有效显示的逻辑。...UILabel *label = [UILabel new]; label.text = text; label.numberOfLines = rand() % 100

1.4K40

猫学习IOS(五岁以下儿童)UI之360其他下载管理器广场UI

define kAppViewH 90 ////九宫格中有多少个格子 #define kColCount 3 //九宫格中第一行距离屏幕最上边距离 #define kStartY 20 /* 思路:三个控件放到一个...:应用程序名称 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, CGRectGetMaxY(icon.frame...思路 思路:三个控件放到一个view中 没有通过双层for循环换行,而是通过第几个然后推断他的行和列 来定位他的xy坐标完毕 012 在第一行:相当于i/kColCount //行 一行:...012 二行:345 三行:678 int row = i/kColCount; //列 一列:036 二列:147 int col = i%kColCount; 算法分析图 注意 设置图片与设置图片铺垫样子的时候有点不同...;UIButton的字体设置 //设置标题 label.text = dict[@"name"]; //设置字体大小 label.font

17840

【IOS开发进阶系列】动画专题

iOS使用了以下的坐标系统:     •  —— 在iOS和Mac OS中最常见的坐标体系。就像是虚拟的像素,也被称作逻辑像素。...1.12.2 CATextLayer         如果你想在一个图层里面显示文字,完全可以借助图层代理直接字符串使用Core Graphics写入图层的内容(这就是UILabel的精髓)。...同时字体大小也是用fontSize属性单独设置的,因为CTFontRef和CGFontRef并不像UIFont一样包含大小。...二者的差异程度(由使用的字体和字符决定)总的来说挺小,但是如果你想正确的显示普通便签和CATextLayer就一定要记住这一。...清单6.4 演示了一个UILabel子类LayerLabel用CATextLayer绘制它的问题,而不是调用一般的UILabel使用的较慢的-drawRect:方法。

37310

iOS11新特性:新增拖拽交互体验 原

iOS11新特性:新增拖拽交互体验 一、引言     在使用PC进行操作时,你一定遇到过这样的场景,可以图片直接拖入聊天软件进行发送,可以文档、音乐、视频文件等文件拖入相应应用程序直接进行使用。...这种拖拽操作交互极大的方便了电脑的使用。在iOS11中,你可以在iPhone或iPad上构建这种交互体验!...在iPhone上,拖拽操作只支持当前应用程序内,你可以某个元素从一个界面拖拽到另一个,这种维度的操作可以给设计人员更大的灵活性。      ...例如,在UITextField选中的文案中进行拖拽,可以文字拖拽出来,效果如下图: ?    ...3.UIDragInteraction对象添加到指定View上。

2K10

Flutter中富文件标签的解决方案

1 基本使用实现 1.2 添加依赖 小编依旧,来个pub方式:【不用说 快捷入口在这】【当然也有github】 【夸张还有 视频支持】 dependencies: flutter_html_rich_text...TextView就可轻松实现解析(如下代码清单2-1),当然在iOS中使用UILabel也可轻松实现(如下代码清单2-2)。...= [UIColor cyanColor]; _uiLabel.numberOfLines = 0; _uiLabel.attributedText = attributedString; [_uiLabel...Html pub仓库 dependencies: html: ^0.14.0+3 于是乎小编也开始尝试,首先是使用 Html 库解析 HTML文本块,解析的 Document 通过递归方式遍历出来所有的...得出的 node 节点 与 Flutter 组件映射,文本使用 TextSpan ,图片使用 Image ,然后 样式使用 TextStyle 映射,然后最后解析的结果组件使用 Wrap 来包裹,就达到了现在的插件

1.4K11

前端成神之路-移动web开发_rem布局

关键字 ​ 关键字媒体类型或多个媒体特性连接到一起做为媒体查询的条件。 and:可以多个媒体特性连接到一起,相当于“且”的意思。 not:排除某个媒体类型,相当于“非”的意思,可以省略。...媒体查询书写规则 注意: 为了防止混乱,媒体查询我们要按照从小到大或者从大到小的顺序来写,但是我们最喜欢的还是从小到大来写,这样代码更简洁 ?...因为我们CSS中的一些颜色和数值等经常使用。...就是Less提供了加(+)、(-)、乘(*)、除(/)算术运算。...2.使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做尺寸单位,当html字体大小变化元素尺寸也会发生变化,从而达到等比缩放的适配。

1.1K20

rem适配布局

width 定义输出设备中页面可见区域的宽度 min-width 定义输出设备中页面最小可见区域宽度 max-width 定义输出设备中页面最大可见区域宽度 注意:为了防止混乱,媒体查询我们要按照从小到大或者从大到小的顺序来写...,但是我们最喜欢的还是从小到大来写, 这样代码更简洁 2.3媒体查询+ rem实现元素动态大小变化 rem单位是跟着html来走的,有了rem页面元素可以设置不同大小尺寸, 媒体查询可以根据不同设备宽度来修改样式...因为我们CSS中的一些颜色和数值等经常使用。...就是Less提供了加(+)、(-)、乘(*)、除(/)算术运算。...2.使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做尺寸单位,当html字体大小变化,元素尺寸也会发生变化,从而达到等比缩放的适配。

1.9K30

iOS动画专题·UIView二维形变动画与CAAnimation核心动画(transform动画,基础,关键帧,组动画,路径动画,贝塞尔曲线)

类型属性:animatedView.transform 一般是View的旋转,拉伸移动等属性,是二维的,通常使用都是前缀CGAffineTransform的类。...(2) 一般在实际开发中都是平移,旋转,缩放组合使用。...相互转换API //一个CGAffinrTransform转化为CATransform3D CATransform3D CATransform3DMakeAffineTransform (CGAffineTransform...如果在程序中改变了某个控件的transform,那么请不要使用这个控件的frame计算 子控件 的布局,应该使用bounds+center代替。 3.....x, 控制1.y, 控制2.x, 控制2.y, 终点.x, 终点.y); // 设置path属性 keyframeAnimation.path = path; CGPathRelease

3.2K21
领券