• 触摸绘图学习笔记


    今晚看了《iPhone开发秘籍》第8章,还没有看手势部分,记录下列收获。

    1、对于视图内的多个小目标控件,要想点击时显示在其他控件前面,就在控件视图类的TouchesBegan:函数中调用“[[self superview] bringSubviewToFront: self];”

    2、在视图中添加多个小图像控件:

    - (void) viewDidLoad
    {
    	self.navigationController.navigationBar.tintColor = COOKBOOK_PURPLE_COLOR;
    	srandom(time(0));
    	
    	for (int i = 0; i < MAXFLOWERS; i++)
    	{
    		NSString *whichFlower = [[NSArray arrayWithObjects:@"blueFlower.png", @"pinkFlower.png", @"orangeFlower.png", nil] objectAtIndex:(random() % 3)];
    		DragView *dragger = [[DragView alloc] initWithImage:[UIImage imageNamed:whichFlower]];
    		dragger.center = randomPoint();
    		[self.view addSubview:dragger];
    		[dragger release];
    	}
    }
    @end

    3、在多点触摸时,可以有多个小视图同时获得TouchesBegan:消息,这样就可以同时拖动多个控件

    4、视图的.center坐标属性是绝对坐标,相对于Frame窗口的左上角;在视图的绘图上下文中绘图时是以当前视图的左上角的。

    5、绘图得到图像,进而创建出图像控件:

    - (UIImage *) createImage
    {
    	UIGraphicsBeginImageContext(CGSizeMake(cx, cy));
    	CGContextRef context = UIGraphicsGetCurrentContext();
    		……	
    	UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();
    	UIGraphicsEndImageContext();
    	return theImage;
    }
    DragView *dragger = [[DragView alloc] initWithImage:[self createImage]];
  • 相关阅读:
    oracle数据库体系架构详解
    数据库迁移之从oracle 到 MySQL
    一个专业DBA应具备的技能
    Oracle 内存参数调优设置
    正向代理与反向代理的区别
    负载均衡的几种常用方式
    Java虚拟机JVM学习07 类的卸载机制
    Java虚拟机JVM学习06 自定义类加载器 父委托机制和命名空间的再讨论
    Git 撤销修改
    Git 分支管理和冲突解决
  • 原文地址:https://www.cnblogs.com/rhcad/p/2222128.html
Copyright © 2020-2023  润新知