专栏首页每日一篇技术文章IOS开发必须知道的3DLabel实现过程

IOS开发必须知道的3DLabel实现过程

最近写了很多关于SceneKit 的入门教程文章,初衷就是想给应用增加一点色彩,今天就教大家实现一个简单的3DLabel 的小框架.如果你的应用中需要实现3D字体展示的功能,这个可能是你最好的选择。

  • 支持的功能

1.设置字体的大小 2.设置字体颜色 3.设置背景颜色 4.设置3D字体深度 5.设置文字对齐方式 6.设置尾部省略模式 7.设置文字旋转角度 8.支持手势移动字体观察 9.支持使用图片填充 10.支持天空盒子场景

  • 如何使用

一段代码告诉你

- (void)viewDidLoad {
    [super viewDidLoad];
    OS3DLabel *label = [[OS3DLabel alloc]initWithFrame:CGRectMake(0, 10, self.view.bounds.size.width, 100)];
    /// 是否可以控制
    label.label.allowsControl  = true;
    /// 设置
    label.backgroundColor = [UIColor purpleColor];
    /// 单行显示
    label.isSingle = NO;
    /// 设置字体的大小
    label.fontSize = 2;
    /// 设置文字内容
    label.text = @"让学习成为一种习惯---酷走天涯";
    /// 设置尾部省略模式
    label.truncationMode = kCATruncationStart;

    /// 设置对其方式
    label.alignmentMode = kCAAlignmentCenter;

    /// 设置深度
    label.depth = 0.5;
    /// 设置字体颜色
    label.textColor = [UIColor greenColor];
    /// 设置环境场景
    label.scene.background.contents = @"skybox01_cube.png";
   /// 设置填充内容
   label.contents = [UIImage imageNamed:@"1.png"];
    [self.view addSubview:label];
}

展示几张图篇

多行居中显示

单行显示,从开头省略

当行显示,省略中间

设置填充内容

支持天宫盒子

快去下载代码玩玩吧

如果想学习SceneKit 请去appstory 搜索scenekit

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SceneKit-解决锯齿闪烁和模型重叠时闪烁的问题

    多重采样抗锯齿,具体是MSAA只对Z缓存[Z-Buffer]和模板缓存(Stencil Buffer)中的数据进行超级采样抗锯齿的处理。可以简单理解为只对多边形...

    酷走天涯
  • weex-09-组件text的用法

    1.怎么给text 组件赋值 2.怎么设置组件的背景颜色和字体颜色 3.怎么给设置组建的边框颜色,宽度,样式 4.怎么设置文字斜体 加粗 下划线等 5....

    酷走天涯
  • SceneKit-超级大招SCNTechnique

    1.SCNTechnique 是什么? 2.SCNTechnique 有什么用? 3.怎么使用SCNTechnique?

    酷走天涯
  • Flink 16种数据转换操作,满足所有数据处理场景

    数据转换(Transformation),即通过从一个或多个 DataStream 生成新的DataStream 的过程,是主要的数据处理的手段。Flink 提...

    kk大数据
  • DevOps 工程师成长日记系列五:部署

    如果在上图每列的技术栈上花费一个月左右的话,那么我们现在处于第 4 个月。基于前文的学习,我们已经知道了如何配置将要运行代码的服务器基础架构、如何正确地对代码进...

    CODING
  • Android查缺补漏(View篇)--自定义 View 中 wrap_content 无效的解决方案

    做过自定义 View 的童鞋都会发现,直接继承 View 的自定义控件需要重写 onMeasure() 方法,并设置 wrap_content 时的自身大小,否...

    codingblock
  • 怎样压缩PDF文件大小?简单的步骤是什么?

      PDF文件传输的时候经常因为PDF文件太大无法进行传输,遇到这样的情况我们应该怎样将其进行压缩呢?其实很简单,我们可以借助来进行实现,下面将PDF文件压缩的...

    用户4838056
  • 2 PAT排名汇总 (25分)注意 不要使用 long long int

    计算机程序设计能力考试(Programming Ability Test,简称PAT)旨在通过统一组织的在线考试及自动评测方法客观地评判考生的算法设计与程序设计...

    韩旭051
  • 10年 Windows 与 Linux 程序员的区别

    如果一个程序员从来没有在Linux、Unix下开发过程序,一直在Windows下面开发程序,同样是工作10年,大部分情况下与在Linux、unix下面开发10年...

    小小科
  • Linux系统下的用户密码设定梳理

    随着linux使用的普遍,对于linux用户以及系统的安全要求越来越高,而用户密码复杂程度是系统安全性高低的首要体现。因此如何对linux下用户的密码进行规则限...

    洗尽了浮华

扫码关注云+社区

领取腾讯云代金券