你好,歡迎來到IOS教程網

 Ios教程網 >> IOS訊息 >> 關於IOS >> IOS開發之繪制文本

IOS開發之繪制文本

編輯:關於IOS

1 前言
從今天起我們開始學習IOS的圖形和動畫。

在 Cocoa Touch 中,程序是由“窗口”和“視圖”組成。一個帶有 UI 的程序至少有一個窗口,這個窗口至少 包括一個到多個視圖。在Cocoa Touch中,一個窗口就是一個UIWindow的實例。一般的,程序會打開到主窗 口,然後程序員會向這個窗口添加視圖,來展示 UI 的不同的部分:例如按鈕,文本,圖像和自定義控件。所 有這些 UI 相關的組件是由 UIKit 來進行處理和繪制的。

Apple 為開發者提供了強有力的框架,來處理 iOS 和 OS X 中的圖形和動畫。下面是這些框架和技術:
UIKit
高級別框架,允許程序員創建視圖,窗口,按鈕,和其他 UI 相關的控件。它也將低層的 API 組合到一個 易於使用的高級別 API 中。
Quartz 2D
運行內部的用於 iOS 畫圖的主引擎;UIKit 使用了 Quarz。
Core Graphics
支持圖形環境(後面會介紹),加載圖片,繪制圖片等等的框架。
Core Animation
顧名思義,iOS 上的動畫框架。

今天我們來簡單的學習一下在 iOS 設備上繪制文本。

2 代碼實例
ZYViewControllerView.m

 
- (void)drawRect:(CGRect)rect{
//設置字體樣式
UIFont *helveticaBold = [UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0f];
/* Load the color */
UIColor *magentaColor =[UIColor colorWithRed:0.5f
green:0.0f blue:0.5f
alpha:1.0f];
/* Set the color in the graphical context */
[magentaColor set];
//文字內容
NSString *myString = @"I Learn Really Fast";
//在屏 幕上 x 軸的 25 及 y 軸 190 處以 30 點的字體畫出一個簡單的字符串
//    [myString drawAtPoint:CGPointMake(25, 190) withFont:helveticaBold];
[myString drawInRect:CGRectMake(100,/* x */
120, /* y */
100, /* width */
200) /* height */
withFont:helveticaBold];
//獲得一個顏色用於Quartz 2D繪圖。只讀
CGColorRef colorRef = [magentaColor CGColor];
//返回顏色組件
const CGFloat *components = CGColorGetComponents(colorRef);
//返回顏色組件的個數
NSUInteger componentsCount = CGColorGetNumberOfComponents(colorRef);
NSUInteger counter = 0;
for (counter = 0;counter <componentsCount; counter++){//循環輸出
NSLog(@"Component %lu = %.02f",(unsigned long)counter,components[counter]);
}

}

- (void)drawRect:(CGRect)rect{
//設置字體樣式
UIFont *helveticaBold = [UIFont fontWithName:@"HelveticaNeue-Bold" size:30.0f];
/* Load the color */
UIColor *magentaColor =[UIColor colorWithRed:0.5f
green:0.0f blue:0.5f
alpha:1.0f];
/* Set the color in the graphical context */
[magentaColor set];
//文字內容
NSString *myString = @"I Learn Really Fast";
//在屏 幕上 x 軸的 25 及 y 軸 190 處以 30 點的字體畫出一個簡單的字符串
//    [myString drawAtPoint:CGPointMake(25, 190) withFont:helveticaBold];
[myString drawInRect:CGRectMake(100,/* x */
120, /* y */
100, /* width */
200) /* height */
withFont:helveticaBold];
//獲得一個顏色用於Quartz 2D繪圖。只讀
CGColorRef colorRef = [magentaColor CGColor];
//返回顏色組件
const CGFloat *components = CGColorGetComponents(colorRef);
//返回顏色組件的個數
NSUInteger componentsCount = CGColorGetNumberOfComponents(colorRef);
NSUInteger counter = 0;
for (counter = 0;counter <componentsCount; counter++){//循環輸出
NSLog(@"Component %lu = %.02f",(unsigned long)counter,components[counter]);
}

}
工程截圖

IOS開發之繪制文本
注意:需要將nib文件中的view視圖的class設置為ZYViewControllerView

IOS開發之繪制文本
運行結果

IOS開發之繪制文本
控制台顯示

2013-05-14 11:14:13.611 GraphicsStringTest[1030:c07] Component 0 = 0.50

2013-05-14 11:14:13.613 GraphicsStringTest[1030:c07] Component 1 = 0.00

2013-05-14 11:14:13.614 GraphicsStringTest[1030:c07] Component 2 = 0.50

2013-05-14 11:14:13.615 GraphicsStringTest[1030:c07] Component 3 = 1.00

 

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved