开发笔记5-Graphics学习

来源:互联网 发布:linux rm -rf笑话 编辑:程序博客网 时间:2024/06/05 17:07

iOS吸引人的地方在于界面的优美和令人惊叹的显示效果,今天就开始跟着《iOS 5 Programming CookBook》一步一步领略其中的精妙。大量的理论介绍不是我的重点,练习最重要,没有实际项目的要求,我也只能熟悉绘制方法,练习如何使用。

显示文字的绘制,之前都是将文字写在UILabel里的,今天没想到可以在界面上单独绘制文字,方法如下:

UIFont *helveticaBold = [UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0f];    UIColor *magentColor = [UIColor colorWithRed:0.5f green:0.0f blue:0.5f alpha:1.0f];        [magentColor set];        NSString *myString = @"I Learn Really Fast";//    [myString drawAtPoint:CGPointMake(25, 190) withFont:helveticaBold];    [myString drawInRect:CGRectMake(100, 120, 100, 200) withFont:helveticaBold];

在大学时记得教JAVA的老师教过:可以只记住最主要的方法,想要使用这个方法,你就看缺什么,缺什么你构造什么,比如上面要绘制文字的方法需要个Rect,你可以根据需要事先实例化一个CGRect,我没特殊要求就直接在参数位置实例化一个就可以了,对于字体,书里还特意介绍如何查看当前系统支持得字体,获取方法如下:

for (NSString *familyName in [UIFont familyNames]) {        NSLog(@"Font Family = %@", familyName);        for (NSString *fontName in             [UIFont fontNamesForFamilyName:familyName]){ NSLog(@"\t%@", fontName);        }    }

仅作为查看,实际开发没啥用,知道就可以了。我自己看应该是字体有大类,叫familyName,然后再查看里面的子项fontName。

然后就是比较图形的绘制了,这个之前我练习的都一般是把图形放到UIImageView里,这回也是单独绘制,方法如下:

UIImage *image = [UIImage imageNamed:@"xcode.png"];    if (image != nil) {        NSLog(@"Successfully loaded the image");        [image drawAtPoint:CGPointMake(0.0f, 20.0)];                [image drawInRect:CGRectMake(10.0f, 10.0f, 40.0f, 35.0f)];    } else {        NSLog(@"Faild to load the image");    }

用了两种方法,第一种就是确定绘制的原点在哪,整张图案以原点开始绘制,由于图案比较大,都绘出屏幕了,应该说是按照原图大小绘制;那么第二种方式就是自己控制绘制的原点和大小了,这个实际应用应该比较常见。其实这段代码和上面显示字符的代码是一起执行的,我本想让字符在图案上完整显示,结果发现只有UIView的子类才有addSubView的这个方法,但是我还是启动了运行,发现在图案的透明出还是看见在下面压着的字符,图案在上层,文字在下层,我就把显示文字和图案的代码颠倒一下,文字就跑到图案上面去了,但是我想绘制的方式都是参考整个UIView的坐标系,它们两个之间是没有关系的,也就是父子视图关系,本来它们就不是试图,很有趣,明天接着往下进行。

原创粉丝点击