美文网首页iOS常用
iOS 文字横竖排切换

iOS 文字横竖排切换

作者: Steven_2016 | 来源:发表于2020-06-19 13:04 被阅读0次

使用YYText 的YYLabel 实现文字横竖排版时发现一个问题,当对verticalForm 设置为YES时,也就是文字竖排时。文字的颜色总会变成默认的黑色。当然有一种情况除外,那就是横排颜色和竖排颜色不一致时,设置竖排颜色才会有效,而不至于是默认的黑色。
特意看了一下对TextColor赋值的逻辑

- (void)setTextColor:(UIColor *)textColor {
    if (!textColor) {
        textColor = [UIColor blackColor];
    }
    if (_textColor == textColor || [_textColor isEqual:textColor]) return;
    _textColor = textColor;
    _innerText.yy_color = textColor;
    if (_innerText.length && !_ignoreCommonProperties) {
        if (_displaysAsynchronously && _clearContentsBeforeAsynchronouslyDisplay) {
            [self _clearContents];
        }
        [self _setLayoutNeedUpdate];
    }
}

看样子,如果不改变颜色,那么正常来讲会通过这里直接return

if (_textColor == textColor || [_textColor isEqual:textColor]) return;

那么,为了避免横竖排切换时,颜色不统一,在进行横竖排切换时,对触发竖排时,对textcolor多设置一次值,然后再赋值为之前的颜色,那么就能够让这两次设置的颜色都跳过reture,顺利赋值成功

   if (sender.on) {
//        _preTextLabel.textColor = [UIColor whiteColor];
        [_preTextLabel setTextColor:[UIColor clearColor]];
        [_preTextLabel setTextColor:_currentColor];
    }

横排的时候不需要,至此,在进行横竖排切换时,颜色就保持一致了。

相关文章

  • iOS 文字横竖排切换

    使用YYText 的YYLabel 实现文字横竖排版时发现一个问题,当对verticalForm 设置为YES时,...

  • iOS - Label文字竖排

    前言: 有的需求会给出文字竖排的方式,下面给出两种思路来实现这种效果.一是为UILabel添加分类,添加一个文字竖...

  • iOS-文字竖排

    方案一: 思路:字符串直接单字换行缺点:只能显示一列文字 方案二: 三方库:YYText 三方库:CoreText...

  • 竖排显示文字

  • 3个Excel小技巧,你都会吗?

    1、横排文字转为竖排文字 方法一: 选中单元格,单击【开始】,在对齐方式功能区单击“方向”,选择“竖排文字”即可。...

  • CorelDRAW如何设置竖排文字

    很多同学反映,在CorelDRAW中找不到竖排文本工具在哪,或者在设置竖排文本的时候,遇到数字和字母,竖排文字就会...

  • iOS - 横屏竖屏切换

    引入: 切换为横屏 切换回竖屏

  • 竖排文字的学问

    中国古代书籍上千年来都是从右到左,竖排排版。难道古人不知道横排可以节约纸张,且容易阅读么?我们的祖先当然知道这其中...

  • [Android]实现文字竖排

    最终效果:文字竖排,英文字母是横着的,中文字是竖的,如下图 分析:英文是一个完整的单词旋转了90度,中文一字一行 ...

  • Android - 实现竖排文字

    1. 自定义View 描绘出效果 VerticalText.java 2. UI 布局中定义 activity_m...

网友评论

    本文标题:iOS 文字横竖排切换

    本文链接:https://www.haomeiwen.com/subject/ntyvxktx.html