首页
学习
活动
专区
圈层
工具
发布

iOS swift将文字转为竖排文字

在开发一款中国文化的app时,需要以竖排文字的方式展示诗文。...在CSS中,有一个文字方向的属性可以用来直接显示竖排文字,但是在iOS中并没有直接提供,所以扩展一下String类,可以返回一个竖排多行文字 先看一下效果: ---- 简单做一下说明: convertVerticalText...是将多行文字转变为多列文字的处理过程,类似于矩阵的对角。...首先获取待转换的文字一共有多少行,那么也就对应着转换后每一行有几个字。 由于每一行的文字个数未必相同,在转换为列的时候,就意味着会有空白,所以要获取最长一行有多少个字符。...// Auto convert text to Vertical text on UILabel extension UILabel{ func toVertical( gapLength:Int

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

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

    90 ////九宫格中有多少个格子 #define kColCount 3 //九宫格中第一行距离屏幕最上边距离 #define kStartY 20 /* 思路:将三个控件放到一个view...中 没有通过双层for循环换行,而是通过第几个然后推断他的行和列 来定位他的xy坐标完毕 012 在第一行:相当于i/kColCount //行 一行:012 二行:345 三行:678 int row...[appView addSubview:icon]; //UILabel:应用程序名称 UILabel *label = [[UILabel alloc...思路 思路:将三个控件放到一个view中 没有通过双层for循环换行,而是通过第几个然后推断他的行和列 来定位他的xy坐标完毕 012 在第一行:相当于i/kColCount //行 一行:...icon.image = [UIImage imageNamed:dict[@”icon”]]; icon.contentMode = UIViewContentModeScaleAspectFit; UILabel

    33440

    C语言获取当前输出窗口的大小

    很多同学在学习C语言,只是局限于课本知识的学习及应用,课本上的练习题做了不少,可一旦遇到实际应用中的问题,就感到无从下手。 以下就简单的就printf函数进行分析。   ...;    }      以上函数是众多教科书上的经典实例,这一点地球人都知道!     ...C程序的输出结果是在标准的输出设备上,通常情况下,在Win环境下,其输出在一个字符窗口上,现在试问,如何得到该字符输出窗口的大小,也即该窗口容纳多少字符,?行 * ?列。     ...显然,如果我们将要输出的字符加长,则计量在满一行中所显示的字符,则很容易测出一行所占用的字符数。...main() {   printf("\n");   for ( int i=1;i<=10;i++)     printf("0123456789"); }    同理,按此方法我们可以得到窗口所容纳的字符行数

    4K00

    声明式 UIKit 在有赞美业的实践

    同时布局是通过每一行代码的描述来约定与其他视图之间的布局关系,在修改 UI 之前,出了需要看明白视图创建流程,还要熟读每一行的约束,了解清楚它们之间的关系才能修改。...我们会发现,跨平台以及原生端包括 iOS 和安卓,都会对 FlexBox 布局多少有点涉足,在现在大前端的开发趋势下,统一的布局方式和思路显得尤为重要。...我们知道,布局进行抽象后,其实就是对节点的位置和大小的计算,与视图没有任何的关系,基于这个问题,其实算法是可以抽离的,使用 C++ 不仅性能高,还可以跨平台。...在节点中,容器其实也是其中的一个视图节点,因此也具备可被计算能力。并且 Regulator可以横向扩展,支持更多样化的布局规则。 同时 Measurable 为一个接口,具备可被计算能力。...因为驱动 View 变化的只有纯数据源,同时可以通过数据源变化提供 diff 计算,高效计算需要重绘的节点。

    1.7K30

    iOS 面试策略之算法基础6-7节

    现在要把它展现在手机上,那么可行的方法,就是创建一个 UILabel 二维矩阵,记做 labels: [[UILabel]],矩阵中每一个 UILabel 对应的内容就是相应的字母。...现在要求第 100 个数字是多少。 这道题目乍一看是一个数学题,那么要求第 100 个数字,很简单,一个个数字算下去就是了。...解决方法就是,用一个数组,将计算过的值存起来,这样可以用空间上的牺牲来换取时间上的效率提高,代码如下: var nums = Array(repeating: 0, count: 100) func...当然对于这两点我们也有相应的解决方法。对付栈溢出,我们可以把递归写成循环的形式(所有的递归都可改写成循环);对付数据溢出,我们可以在程序每次计算中,加入数据溢出的检测,适时终止计算,抛出异常。...删除一个字符:假如已知 wordDistance("abc", "abdf") ,那么 “abce” 只需要删除一个字符到达 “abc” ,然后就可以得知 “abce” 到 “abdf” 之间的距离。

    72330

    UI篇-CATextLayer和 富文本的交融

    前言 CATextLayer适用于IOS或者MAC,比UIlablel 和 NSTextView 能做的事很多,可以这样说UIlablel是通过CATextLayer实现的,身为CALayer的三大子类之一...,它的功能远比 UIlablel 强大的多的多,其最主要的特点是CATextLayer可以被NSMutableAttributedString直接附值。...而NSMutableAttributedString有可以最自己内容作出颜色以及大小的调整,这样结合起来使用的话,就远比UILabel 灵活的多,效果也酷炫的多,也许CATextLayer就是为了NSMutableAttributedString...在使用中通过将AttributedString赋值给控件的 attributedText 属性来添加文字样式。有属性的控件有UILabel、UITextField和UITextView。...drawAtPoint和drawInRect的区别是后一个可以自动换行,不过代价是 不设置属性,都是默认的属性有时候是无法接受的。

    3.1K10

    学习笔记 :DrawText

    最近在做一个TStringGrid的自绘处理,在画文字处理上遇到了高度的计算问题。...如果uFormat包含DT_MODIFYSTRING,则函数可为此字符串增加4个字符,存放字符串的缓冲区必须足够大,能容纳附加的字符。 nCount: [输入]指向字符串中的字符数。...它可以下列值的任意组合,各值描述如下: DT_CALCRECT:这个参数比较重要,可以使DrawText函数计算出输出文本的尺寸。...如果输出文本有多行,DrawText函数使用lpRect定义的矩形的宽度,并扩展矩形的底部以容纳输出文本的最后一行。...如果输出文本只有一行,则DrawText函数改变矩形的右边界,以容纳下正文行的最后一个字符。出现上述任何一种情况,DrawText函数将返回格式化文本的高度,而不是绘制文本。

    1.2K50

    Ios常用第三方框架(一)

    MJRefresh - 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能。可以自定义上下拉刷新的文字说明。具体使用看“使用方法”。...第二个Demo模拟了一个经典的FlowLayout,任意一个元素隐藏时,底下的元素需要自动“顶”上来,配合这个扩展,你可以在IB里连一连,选一选,不用一行代码就能搞定。...TTTAttributedLabel - 一个文字视图开源组件,是UILabel的替代元件,可以以简单的方式展现渲染的属性字符串。...FXLabel - FXLabel是一个功能强大使用简单的类库,通过提供一个子类改进了标准的UILabel组件,为字体增加了阴影、内阴影和渐变色等,可以被用在任何标准的UILabel中。...HPGrowingTextView - HPGrowingTextView聊天输入文字,可以根据输入文字的多少自动改变输入框的高度。

    6.9K31

    iOS流水布局UICollectionView简单使用引实现结

    如果熟悉UITableView的话,其实很多地方都是类似的,甚至可以说UITableView是一种特殊的UICollectionView,正如正方形是一种特殊的矩形一样,UITableView就是一种每行只放一个方块的..."]; [self.contentView addSubview:self.image]; // 文字 self.label = [[UILabel...还可以设置为水平滚动,只需要改变布局参数的设置就可以了;UICollectionView的cell只能通过注册来确定重用标识符,什么叫注册,我们还是看代码: - (void)viewDidLoad {...代码中注释了一行,就是用来设置滚动方向为水平的,效果如下: 同样的内容,滚动方式变化后,呈现的效果也会变化。...的使用方式,就像UITableView可以简单也可以做的非常多样,UICollectionView也是一种乍看很平常但可以容纳非常多想象力的布局方式,只要善加利用就可以做出很好的效果,当然,什么时候用UICollectionView

    1.5K00

    html图片自适应div大小_未知宽高的div元素垂直水平居中

    大家好,又见面了,我是你们的朋友全栈君。...计算出来的 height 正好是排版后的高度大小,是 CGFloat 类型,在是在我们设置UIlabel/Cell 高度时,可能存在四舍五入等,最后存在的一点点误差使得 UILabel 显示不全,可能出现缺少一行...,上下空白太多等情况; 解决方案:为了确保布局按照我们计算的数据来,可以使用ceil函数对计算的 Size 取整,再加1,确保 UILabel按照计算的高度完好的显示出来; 或者使用方法CGRectIntegral...(CGRect rect) 对计算的 Rect 取整,在加1; -(CGFloat )getHTMLHeightByStr:(NSString *)str { str = [str stringByReplacingOccurrencesOfString...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    4.1K20

    抽丝剥茧C语言(初阶 中)

    ); printf("\a"); return 0; 输出结果如下 就和上面表格介绍的一样,\n是换行,不然这两个字符都会在第一行仅仅的贴在一起, \a 是怎么一回事呢?...C语言风格的注释 /xxxxxx/ 缺陷:不能嵌套注释 C++风格的注释 //xxxxxxxx 可以注释一行也可以注释多行 注释通常用来解释你这段代码是干嘛的,让你的代码更能让人读懂,能让你的同事更好的和你合作...它可以不用麻烦的做一段重复的事情,还可以节省空间,你想想,如果自定义函数里是非常复杂的计算公式还有很多东西,你难不成用一次复制粘贴一次吗,这样很浪费空间和时间,需要的时候直接调用就行 就像printf...10个元素,我们又初始化了十个元素,所以我们叫做完全初始化 而后面的 [ ] 是什么呢,这个是数组的结构,[ ]里面的常量是决定数组能容纳多少元素,如果[ ]里面没有写,像arr2 arr3那样,那么它会看后面自己有多少个元素就决定自己能容纳多少个元素...因为arr可以容纳10个元素,但是只初始化了3个元素,那么系统会默认剩下7个元素为0 这里我们叫做未完全初始化 数组的下标 C语言规定:数组的每个元素都有一个下标,下标是从0开始的。

    88100

    关于“Python”的核心知识点整理大全35

    aliens_x()和create_alien(): game_functions.py 1 def get_number_aliens_x(ai_settings, alien_width): """计算每行可容纳多少个外星人...通过这样的重构,添加新行进而创建整群外星人将更容易。 13.3.5 添加行 要创建外星人群,需要计算屏幕可容纳多少行,并对创建一行外星人的循环重复相应的次数。...为计算可容纳的行数,我们这样计算可用垂直空间:将屏幕高度减去第一行外星人的上边距(外 星人高度)、飞船的高度以及最初外星人群与飞船的距离(外星人高度的两倍): available_space_y =...number_rows = available_height_y / (2 * alien_height) 知道可容纳多少行后,便可重复执行创建一行外星人的代码: game_functions.py...1 def get_number_rows(ai_settings, ship_height, alien_height): """计算屏幕可容纳多少行外星人""" 2 available_space_y

    20810

    关于“Python”的核心知识点整理大全34

     在屏幕左上角添加一个外星人,并指定合适的边距。  根据第一个外星人的边距和屏幕尺寸计算屏幕上可容纳多少个外星人。我们将编写一个 循环来创建一系列外星人,这些外星人填满了屏幕的上半部分。...13.3 创建一群外星人 要绘制一群外星人,需要确定一行能容纳多少个外星人以及要绘制多少行外星人。...13.3.1 确定一行可容纳多少个外星人 为确定一行可容纳多少个外星人,我们来看看可用的水平空间有多大。...你可以根据在屏幕上看到的情况调整计算公式。...alien import Alien --snip-- def create_fleet(ai_settings, screen, aliens): """创建外星人群""" # 创建一个外星人,并计算一行可容纳多少个外星人

    20910
    领券