iOS绘图例1:使用StoryBoard

  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,如下左图所示。该属性可自动启动随手画曲线命令,运行后的手绘效果如下右图所示。

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

样例代码见 GitHubOSC,欢迎 Fork。

时间: 2024-10-25 03:33:21

iOS绘图例1:使用StoryBoard的相关文章

iOS绘图例3:绘图命令工具栏

在StoryBoard中添加 GiCanvasView 视图,并在 ViewController 中创建关联变量 canvas_: @interface ViewController () { __weak IBOutlet GiCanvasView *canvas_; } @end 添加按钮图片资源,设置命令工具栏: - (void)viewDidLoad { [super viewDidLoad]; canvas_.tools = @[ @{@"image" : @"se

iOS绘图例2:增加Undo/Redo功能

在工程中添加Undo.Redo的按钮图片,每个按钮都有可用和不可用两种状态图片,共4个图片. 在StoryBoard中添加两个按钮,设置图片属性和自动布局约束. 按住 Ctrl 拖动按钮到 ViewController.mm 中,创建属性变量和动作方法. @interface ViewController () @property (weak, nonatomic) IBOutlet UIButton *undoButton; @property (weak, nonatomic) IBOutl

ios学习记录 day44 UI20 Storyboard 高级可视化编程 + 单例

可视化编程 : 5.0之前 xib  5.0之后 Storyboard 注意事项:1.在AppDelegate中不用代码初始化一个window   2.在general  设置 Main Interface(创建的时候自动设置的) weak可以指向 但是没有拥有权   strong有拥有权 单例特性: 1.唯一性  创建的对象永远指向同一块内存地址     2.不释放   从打开程序到后台关闭 对象都不释放 单例安全:加锁@synchronized  防止同一块内存被创建两次,破坏唯一性 //单

iOS Could not find a storyboard named 'Main' in bundle NSBundle

1.在最新的Xcode6.0之后新建项目默认的是使用Main.storyboard,有些人习惯用storyboard有些人不习惯使用,当我们新建项目删除storyboard时我们运行项目发现会报错:Could not find a storyboard named 'Main' in bundle NSBundle,这是因为我们把storyboard删除了,而storyboard相对的路径没有删除 2.删除Main.storyboard后,我们需要在AppDelegate.m中初始化一个wind

iOS国际化——通过脚本使storyboard翻译自增

一. 针对两种文件的国际化处理 代码中即.m文件的国际化 首先在你需要进行国际化处理的字符串外面加一层NSLocalizedString,注意中文也是可以的哦 textfield.text = [NSString stringWithFormat:NSLocalizedString(@"使用帮助", nil)]; NSLocalizedString是一个定义在NSBundle.h中的宏,其用途是寻找当前系统语言对应的Localizable.strings文件中的某个key的值. 第一个

【iOS开发-120】在storyboard中如何使用Size Classes,其实就是设置多套AutoLayout

(1)在storyboard中使用Size Classes. 我们之前使用过AutoLayout,目前多了一个Size Classes,可以看做是在不同的Size Classes下进行AutoLayout设置. 详细教程,http://www.cocoachina.com/ios/20141020/9978.html --貌似,storyboard的功能越来越强大了.光是不同尺寸和屏幕的适配,就足以让敲代码成为一种痛苦. --找了很多博文,发现,几乎都是谈如何在storyboard中使用Size

iOS开发UI篇—使用storyboard创建导航控制器以及控制器的生命周期

一.基本过程 新建一个项目,系统默认的主控制器继承自UIViewController,把主控制器两个文件删掉. 在storyboard中,默认的控制器是View Controller,而我们需要的是导航控制器,那么就把系统的给删掉,拖一个导航控制器进来,导航控制器中默认的第一个子控制器是一个tableview controller,这里不需要,把它删掉,重新拖三个View Controller到界面上进行连线,简单的设置就可以了.           按钮连线,按住ctrl,右边界面选择push

iOS开发中xib和Storyboard中需要注意的事项

使用xib注意事项: 1.只有自带view的控件才可以使用xib,因为它本身就是一个view 2.在使用可视化控件添加属性(代码)时候,如果删除了属性代码,一定要在xib上解除关联(不然会崩溃) 3.在使用xib自定义cell的时候,必须在代码中注册cell 使用storyboard注意事项: 1.storyboard和xib的使用,都是偏向于界面的设置,很多数据操作功能都还是需要代码. 2. stroyboard在定义cell的时候,不需要注册,但是必须在可视化界面上添写identifier(

iOS UICollectionView的使用(用storyboard和xib创建)

1. 在storyboard中,拖出1个UICollectionViewController 2. 新建file--Cocoa Touch Class,继承自UICollectionViewController,假设名字是CollectionDemo 3. 在storyboard, 把刚才拖出来的UICollectionViewController的class改成CollectionDemo 4. 在 CollectionDemo.m 中实现,数据源方法 - (NSInteger)collect