IOS学习随笔三

IOS学习随笔三IOS学习随笔三

大家好,又见面了,我是你们的朋友全栈君。

 
IOS storyboard做界面跳转设计页面:
self.dismissViewControllerAnimated(true, completion: nil ) ios8已经替换掉了老得方法定义  使用两个参数的dismissViewControllerAnimated
NIB做界面设计:
self.presentViewController(MyViewController(nibName: “MyViewController”, bundle: nil), animated: true, completion: nil)
MyViewConroller是自己搭建的UIViewController子类,同时生成了nib文件
 iOS绘图API
1绘图的第一步是声明一个
 var context = UIGraphicsGetCurrentContext() ;//用来保存当前的绘图内容
2可以通过 CGContextAddLineToPoint 画直线  ,线需要先确定一个点—-CGContextMoveToPoint
通过 CGContextAddRect 画矩形
通过 CGContextAddArc画扇形—–》和圆
通过  CGContextAddEllipseInRect来画一个矩形的内接圆———椭圆和圆
通过 CGContextDrawImage 来把画图片呈现到视图上,
这里需要先通过CGContextScaleCTM//首先放入的图是倒过来的,图片和试图的编码方式导致y是-1
3CGcontextSet 等方法来设置这些图像的属性比如颜色和线框等
4显示图形,通过CGContextStrokePath(context)来显示线 ,通过CGContextFillPath(context)来显示填充
绘图中
//为了不在绘制图的时候影响其他绘图,先保存状态,然后再恢复
        CGContextSaveGState(context)
        CGContextRestoreGState(context)
2-13画板实例
首先重载两个方法
touchesBegan(touches: NSSet, withEvent event: UIEvent)
{
//确定触摸的起始点
var p = touches.anyObject()?.locationInView(self)
CGPathMoveToPoint(path, nil, p!.x , p!.y)
}
touchesMoved(touches: NSSet, withEvent event: UIEvent)
{ var p = touches.anyObject()?.locationInView(self)
 CGPathAddLineToPoint(path, nil, p!.x, p!.y)  
   setNeedsDisplay();//显示图形
 
}
 
 
 
 

转载于:https://www.cnblogs.com/KyleRuan/p/4296081.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106759.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 5500xt挖矿算力_rx470d etc算力「建议收藏」

    5500xt挖矿算力_rx470d etc算力「建议收藏」…每日平均收益为R$4。RX5700XT表现出色的其他加密货币包括:以太坊经典(ETC),拉文币(RVN),天堂协议XHV和Beam(BEAM)。可以用于采矿的同一系列图形卡中的其他型号是RX5700,RX5600XT和RX5500XT。但是,与RX5700XT相比,这些其他型号的利润率较低。NvidiaRTX2060超级频率:1470MHz至1670MHzV…

    2022年6月14日
    143
  • python获取linux环境变量_linux如何设置环境变量

    python获取linux环境变量_linux如何设置环境变量Python对环境变量的访问不能准确反映操作系统对流程环境的看法.os.getenv和os.environ在特定情况下不能正常运行.有没有办法正确地获得运行过程的环境?为了演示我的意思,采用两个大致相同的程序(C中的第一个,python中的另一个):#include#include#includeintmain(intargc,char*argv[]){char*env;for(;…

    2022年9月28日
    3
  • linux云服务器上安装node[通俗易懂]

    linux云服务器上安装node[通俗易懂]云服务器上搭建nodejs前言第一步:下载wget第二步:下载nodejs功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入前言这篇是记录搭建nodejs过程的一篇文章,同时也希望能够帮到跟我一样对linux零基础的同学们。第一

    2025年8月29日
    8
  • Pycharm中全局查找及替换关键字「建议收藏」

    Pycharm中全局查找及替换关键字「建议收藏」在Pycharm的不同文件中查找或替换某个词。

    2022年8月25日
    8
  • 美国东部时间和北京时间之间的转换方式_北京时间19点美国几点

    美国东部时间和北京时间之间的转换方式_北京时间19点美国几点美国东部时间在UTC-5时区,北京时间是UTC+8时区,正常情况下美东时间比北京时间晚13个小时。需要注意的是美国有夏令时,而北京没有夏令时,美国夏令时时会让时间快一个小时,让人民早起早睡,所以在美国

    2022年8月5日
    9
  • 大型视频监控存储方式_私人云存储解决方案

    大型视频监控存储方式_私人云存储解决方案一、背景描述在建设和谐社会的环境下,国家对很多单位的视频监控系统提出了更高的要求,要求他们把视频监控录像保存更长的时间,要求视频监控的画面更加清晰一点;这些要求的提出,导致原有视频监控系统的存储空间不能满足最新的需求,需要一个更大的存储空间来保存视频录像,如何给原有的监控系统进行存储空间的扩容,以及如何满足将来进一步扩容的需求,正在成为系统集成商和客户的难题。AXUS公司针对中国市场进行了一…

    2022年10月7日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号