文档章节

iOS绘图例1:使用StoryBoard

云贵高原
 云贵高原
发布于 2014/09/25 23:33
字数 294
阅读 173
收藏 4
  1. 使用 Single View Wizard 等向导创建工程

  2. 在 Podfile 文件中导入TouchVG:

     platform :ios, '6.0'
     pod 'TouchVG'
    

    然后运行pod install下载TouchVG代码。后续可运行 pod update --no-repo-update 加快下载速度,不用每次检查最新版本。

    然后打开 *.xcworkspace 进入 Xcode。

  3. ViewController.m改为ViewController.mm。TouchVG是用C++实现的,在程序工程中至少有一个文件是.mm后缀名,否则会出现链接错误。

  4. 打开 Main.storyboard ,拖动一个新 View 到主视图上,设置此新视图的Class为GiPaintViewXIB,添加值为splines的串属性command,如下左图所示。该属性可自动启动随手画曲线命令,运行后的手绘效果如下右图所示。

    Class&cmd Snap1

    可以设置更多属性,得到如下的手绘效果。利用属性可以在界面设计阶段指定绘图效果,而不用写相应的绘图代码。可用的绘图属性见 GiPaintViewXIB.hcommand属性用于设置绘图命令,命令名见 可用的命令列表

    MoreAttr Snap2

样例代码见 GitHubOSC,欢迎 Fork。

© 著作权归作者所有

云贵高原

云贵高原

粉丝 83
博文 38
码字总数 21429
作品 12
海淀
技术主管
私信 提问
基于 TouchVG 的矢量写字App

GlyphLite 基于 TouchVG 的矢量写字演示App (iOS/Android)。 本项目基于 GPL 2.0 开源协议,仅用于学习和交流,不可用于商业用途。欢迎进行任意改动和完善,使用了其中的代码的项目也必须使...

云贵高原
2014/07/29
368
0
iOS开发需要了解的基础内容链接整理

https://llvm.org/svn/llvm-project/cfe/trunk/test/SemaObjC/builtinobjcnslog.m http://llvm.org/klaus/clang/commit/5faf5d31fa634e1fdb576c4d9708cd4efa5ea310/ 对Objective-C的NSObjec......

智能小松鼠
2015/01/14
301
2
使用 Interface Builder 兼容 iOS6 和iOS7

当你在更新你的App到iOS 7的平台时遇到最大的挑战之一就是确保不要遗忘那些还在使用iOS 6平台的用户,在此我们提供一些建议使你的App应用在iOS 6和iOS 7上同时保留视觉吸引力和技术功能. 此图...

isaced
2014/01/15
13.4K
12
Getting iOS Done 1.1从label开始,前面是星辰大海

1 最初 ### 1.1 label的使用 #### iOS的第一个控件无疑是UILable,iOS中创建一个标签主要有两种方式:一种是以storyboard或者是xib文件方式进行描述,和对应的UIViewController进行绑定之后在...

TC-tomCute
2014/03/02
89
0
IOS storyboard 使用链接整理

Tutorial:Storyboards:https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/RoadMapiOS/SecondTutorial.html Adding a Scene to a Storyboard:https://d......

智能小松鼠
2015/02/03
212
0

没有更多内容

加载失败,请刷新页面

加载更多

分页查询

一、配置 /*** @author beth* @data 2019-10-14 20:01*/@Configurationpublic class MybatisPlusConfig { @Bean public PaginationInterceptor paginationInterceptor(){ ......

一个yuanbeth
昨天
5
0
在LINQPad中使用Ignite.NET

LINQPad是进行.NET开发的一款优秀工具,非常有利于Ignite.NET API的快速入门。 入门 下载LINQPad:linqpad.net/Download.aspx,注意要选择64位操作系统的AnyCPU版本; 安装Ignite.NET的NuGet...

李玉珏
昨天
7
0
JS其他类型值转化为Boolean类型规则

本文转载于:专业的前端网站➤JS其他类型值转化为Boolean类型规则 由于最近在笔试的时候,发现好多关于其他类型转化为Boolean类型的题目,因此总结一下! 一、String类型转化为Boolean 1.转化...

前端老手
昨天
6
0
EurekaClient自动装配及启动流程解析

在上篇文章中,我们简单介绍了EurekaServer自动装配及启动流程解析,本篇文章则继续研究EurekaClient的相关代码 老规矩,先看spring.factories文件,其中引入了一个配置类EurekaDiscoveryClie...

Java学习录
昨天
11
0
析构函数是否必须为虚函数?为何?

p517 在C++中,基类指针可以指向一个派生类的对象。如果基类的析构函数不是虚函数,当需要delete这个指向派生类的基类指针时,就只会调用基类的析构函数,而派生类的析构函数无法被调用。容易...

天王盖地虎626
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部