• 触摸绘图学习笔记


    今晚看了《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]];
  • 相关阅读:
    如何使用PL/SQL工具批量导出表、存储过程、序列
    oracle如何导出和导入数据库/表
    linux安装nginx
    Linux下nginx反向代理服务器安装与配置实操
    StringTokenizer
    mapreduce join
    mapreduce计数器
    hadoop分布式系统架构详解
    进程与线程
    hadoop第一个例子
  • 原文地址:https://www.cnblogs.com/rhcad/p/2222128.html
Copyright © 2020-2023  润新知