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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Ubuntu Server + openerp(一)

    Ubuntu Server + openerp(一)

    2021年8月21日
    53
  • python判断linux中文件是否存在_Python判断文件是否存在的三种方法

    python判断linux中文件是否存在_Python判断文件是否存在的三种方法通常在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错。所以最好在做任何操作之前,先判断文件是否存在。这里将介绍三种判断文件或文件夹是否存在的方法,分别使用os模块、Try语句、pathlib模块。1.使用os模块os模块中的os.path.exists()方法用于检验文件是否存在。判断文件是否存在importosos.path.exists(test_file.txt…

    2022年6月29日
    118
  • java voliate_Java之voliate, synchronized, AtomicInteger使用

    java voliate_Java之voliate, synchronized, AtomicInteger使用1:voliate用在多线程,同步变量。线程为了提高效率,将成员变量(如A)某拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm,它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A),但是不能用其来进行多线程同步控制publicclassCounter…

    2022年4月30日
    41
  • mytop安装,使用mytop监控MySQL性能 (总结)

    mytop安装,使用mytop监控MySQL性能 (总结)

    2021年10月29日
    38
  • 推荐系统(Recommendation system )介绍[通俗易懂]

    推荐系统(Recommendation system )介绍[通俗易懂]前言随着电子商务的发展,网络购物成为一种趋势,当你打开某个购物网站比如淘宝、京东的时候,会看到很多给你推荐的产品,你是否觉得这些推荐的产品都是你似曾相识或者正好需要的呢。这个就是现在电子商务里面的推

    2022年8月4日
    5
  • oracle数据库怎么创建连接_eclipse连接数据库代码

    oracle数据库怎么创建连接_eclipse连接数据库代码应用场景:目标数据分散在多个实例下的时候,需要把这些需要的数据整合到同一个数据库下,需要创建数据库连接。用语句创建参考文章:https://blog.csdn.net/hongweibing1/article/details/50623669但是报错:“口令缺失或无效”,选择手动创建。1、找到DatabaseLinks,右键选择“新建”2、进入“创建数据库连接”窗口,勾选“公共”,填写“数据库连接-名称”、“连接到-用户名”、“连接到-口令”、“连接到-数据库”。3、点击左下方的“应用”即

    2022年9月22日
    2

发表回复

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

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