UIKit繪圖演練

1.畫一些簡單的文字紫新,帶有陰影和基本效果蜈垮,具體屬性去NSAttributedString.h熙卡。文章底部有描述

Paste_Image.png

2.畫圖片芍锦,給定大小為view大小

UIImage * image = [UIImage imageNamed:@"黃人"];
CGPoint p = CGPointMake(50, 50);
[image drawAtPoint:p];
Paste_Image.png

2.1給定某個(gè)點(diǎn)畫圖

UIImage * image = [UIImage imageNamed:@"阿貍頭像"];
CGPoint p = CGPointMake(50, 50);
[image drawAtPoint:p];
Paste_Image.png

2.2 平鋪

UIImage * image = [UIImage imageNamed:@"阿貍頭像"];
[image drawAsPatternInRect:self.bounds];
Paste_Image.png

具體代碼如下:

//
//  DrawView.m
//  05-UIKit繪圖演練(熟悉)
//
//  Created by 李亮 on 2016/12/1.
//  Copyright ? 2016年 www.thelast.com. All rights reserved.
//

#import "DrawView.h"

@implementation DrawView

// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
    
    [self drawImage];
 
    
}
- (void)drawImage{
    
    //畫圖片
//    UIImage *image = [UIImage imageNamed:@"001"];
    //drawAtPoint繪制的是原始圖片的大小
    //[image drawAtPoint:CGPointZero];
    
    //把要繪制的圖片給填充到給定的區(qū)域當(dāng)中.
    //[image drawInRect:rect];
    
    //裁剪(超過裁剪區(qū)域以久的內(nèi)容,都會(huì)被自動(dòng)裁剪掉)
    //設(shè)置裁剪區(qū)域一定要在繪制之前進(jìn)行設(shè)置
    //UIRectClip(CGRectMake(0, 0, 50, 50));
    
    //平鋪
    //[image drawAsPatternInRect:self.bounds];
    
    
//    UIRectFill(CGRectMake(50, 50, 50, 50));
    
//    UIImage * img = [UIImage imageNamed:@"黃人"];
//    UIImage * img = [UIImage imageNamed:@"阿貍頭像"];
//    CGPoint p = CGPointMake(50, 50);
//    [img drawAtPoint:p];
//    [img drawAsPatternInRect:self.bounds];
//    [img drawInRect:self.bounds];
    
}
- (void)drawString{
    NSString * str = @"3年了3年了3年了3年了3年了";
    
    NSMutableDictionary * dict = [NSMutableDictionary dictionary];

    //字體大小
    dict[NSFontAttributeName] = [UIFont systemFontOfSize:30];
    //設(shè)置顏色
    dict[NSForegroundColorAttributeName] = [UIColor redColor];
    //設(shè)置描邊
    dict[NSStrokeColorAttributeName] = [UIColor greenColor];
    dict[NSStrokeWidthAttributeName] = @2;
    //設(shè)置陰影
    NSShadow *shaw = [[NSShadow alloc] init];
    shaw.shadowColor = [UIColor blueColor];
    //設(shè)置陰影的偏移量
    shaw.shadowOffset = CGSizeMake(1, 1);
    shaw.shadowBlurRadius = 2;
    dict[NSShadowAttributeName] = shaw;
    
    
    [str drawAtPoint:CGPointZero withAttributes:dict];
}
@end

字符屬性

** 字符屬性可以應(yīng)用于 attributed string 的文本中掏湾。**


 
 NSString *const NSFontAttributeName;(字體)
 
 NSString *const NSParagraphStyleAttributeName;(段落)
 
 NSString *const NSForegroundColorAttributeName;(字體顏色)
 
 NSString *const NSBackgroundColorAttributeName;(字體背景色)
 
 NSString *const NSLigatureAttributeName;(連字符)
 
 NSString *const NSKernAttributeName;(字間距)
 
 NSString *const NSStrikethroughStyleAttributeName;(刪除線)
 
 NSString *const NSUnderlineStyleAttributeName;(下劃線)
 
 NSString *const NSStrokeColorAttributeName;(邊線顏色)
 
 NSString *const NSStrokeWidthAttributeName;(邊線寬度)
 
 NSString *const NSShadowAttributeName;(陰影)(橫豎排版)
 
 NSString *const NSVerticalGlyphFormAttributeName;
 
 常量
 
 1> NSFontAttributeName(字體)
 
 該屬性所對應(yīng)的值是一個(gè) UIFont 對象裹虫。該屬性用于改變一段文本的字體。如果不指定該屬性融击,則默認(rèn)為12-point Helvetica(Neue)筑公。
 
 2> NSParagraphStyleAttributeName(段落)
 
 該屬性所對應(yīng)的值是一個(gè) NSParagraphStyle 對象。該屬性在一段文本上應(yīng)用多個(gè)屬性尊浪。如果不指定該屬性匣屡,則默認(rèn)為 NSParagraphStyle 的defaultParagraphStyle 方法返回的默認(rèn)段落屬性。
 
 3> NSForegroundColorAttributeName(字體顏色)
 
 該屬性所對應(yīng)的值是一個(gè) UIColor 對象拇涤。該屬性用于指定一段文本的字體顏色捣作。如果不指定該屬性,則默認(rèn)為黑色鹅士。
 
 4> NSBackgroundColorAttributeName(字體背景色)
 
 該屬性所對應(yīng)的值是一個(gè) UIColor 對象券躁。該屬性用于指定一段文本的背景顏色。如果不指定該屬性掉盅,則默認(rèn)無背景色也拜。
 
 5> NSLigatureAttributeName(連字符)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(整數(shù))。連體字符是指某些連在一起的字符趾痘,它們采用單個(gè)的圖元符號(hào)慢哈。0 表示沒有連體字符。1 表示使用默認(rèn)的連體字符永票。2表示使用所有連體符號(hào)卵贱。默認(rèn)值為 1(注意滥沫,iOS 不支持值為 2)。
 
 6> NSKernAttributeName(字間距)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(整數(shù))艰赞。字母緊排指定了用于調(diào)整字距的像素點(diǎn)數(shù)佣谐。字母緊排的效果依賴于字體。值為 0 表示不使用字母緊排方妖。默認(rèn)值為0狭魂。
 
 7> NSStrikethroughStyleAttributeName(刪除線)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(整數(shù))。該值指定是否在文字上加上刪除線党觅,該值參考“Underline Style Attributes”雌澄。默認(rèn)值是NSUnderlineStyleNone。
 
 8> NSUnderlineStyleAttributeName(下劃線)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(整數(shù))杯瞻。該值指定是否在文字上加上下劃線镐牺,該值參考“Underline Style Attributes”。默認(rèn)值是NSUnderlineStyleNone魁莉。
 
 9> NSStrokeColorAttributeName(邊線顏色)
 
 該屬性所對應(yīng)的值是一個(gè) UIColor 對象睬涧。如果該屬性不指定(默認(rèn)),則等同于 NSForegroundColorAttributeName旗唁。否則畦浓,指定為刪除線或下劃線顏色。更多細(xì)節(jié)見“Drawing attributedstrings that are both filled and stroked”检疫。
 
 10> NSStrokeWidthAttributeName(邊線寬度)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(小數(shù))讶请。該值改變描邊寬度(相對于字體size 的百分比)。默認(rèn)為 0屎媳,即不改變夺溢。正數(shù)只改變描邊寬度。負(fù)數(shù)同時(shí)改變文字的描邊和填充寬度烛谊。例如风响,對于常見的空心字,這個(gè)值通常為3.0丹禀。
 
 11> NSShadowAttributeName(陰影)
 
 該屬性所對應(yīng)的值是一個(gè) NSShadow 對象状勤。默認(rèn)為 nil。
 
 12> NSVerticalGlyphFormAttributeName(橫豎排版)
 
 該屬性所對應(yīng)的值是一個(gè) NSNumber 對象(整數(shù))湃崩。0 表示橫排文本荧降。1 表示豎排文本接箫。在 iOS 中攒读,總是使用橫排文本,0 以外的值都未定義辛友。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末薄扁,一起剝皮案震驚了整個(gè)濱河市剪返,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌邓梅,老刑警劉巖脱盲,帶你破解...
    沈念sama閱讀 216,496評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異日缨,居然都是意外死亡钱反,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門匣距,熙熙樓的掌柜王于貴愁眉苦臉地迎上來面哥,“玉大人,你說我怎么就攤上這事毅待∩形溃” “怎么了?”我有些...
    開封第一講書人閱讀 162,632評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵尸红,是天一觀的道長吱涉。 經(jīng)常有香客問我,道長外里,這世上最難降的妖魔是什么怎爵? 我笑而不...
    開封第一講書人閱讀 58,180評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮级乐,結(jié)果婚禮上疙咸,老公的妹妹穿的比我還像新娘。我一直安慰自己风科,他們只是感情好撒轮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,198評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著贼穆,像睡著了一般题山。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上故痊,一...
    開封第一講書人閱讀 51,165評(píng)論 1 299
  • 那天顶瞳,我揣著相機(jī)與錄音,去河邊找鬼愕秫。 笑死慨菱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戴甩。 我是一名探鬼主播符喝,決...
    沈念sama閱讀 40,052評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼甜孤!你這毒婦竟也來了协饲?” 一聲冷哼從身側(cè)響起畏腕,我...
    開封第一講書人閱讀 38,910評(píng)論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎茉稠,沒想到半個(gè)月后描馅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡而线,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,542評(píng)論 2 332
  • 正文 我和宋清朗相戀三年铭污,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片膀篮。...
    茶點(diǎn)故事閱讀 39,711評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡况凉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出各拷,到底是詐尸還是另有隱情刁绒,我是刑警寧澤,帶...
    沈念sama閱讀 35,424評(píng)論 5 343
  • 正文 年R本政府宣布烤黍,位于F島的核電站知市,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏速蕊。R本人自食惡果不足惜嫂丙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,017評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望规哲。 院中可真熱鬧跟啤,春花似錦、人聲如沸唉锌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽袄简。三九已至腥放,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绿语,已是汗流浹背秃症。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吕粹,地道東北人种柑。 一個(gè)月前我還...
    沈念sama閱讀 47,722評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像匹耕,于是被迫代替她去往敵國和親聚请。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,611評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理泌神,服務(wù)發(fā)現(xiàn)良漱,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評(píng)論 0 4
  • 在我的閱讀歷史上欢际,《射雕》是很重要的一本書母市。因?yàn)樗以谑欢q時(shí)损趋,開啟了瘋狂的武俠閱讀模式患久,以一天兩三本的速度,...
    郭爾同學(xué)閱讀 254評(píng)論 2 0
  • 真的有人在這樣生活嗎浑槽? 全木質(zhì)的家具蒋失、四周的墻壁上貼滿了上個(gè)世紀(jì)的電影海報(bào), 狹小的房間里桐玻,堆滿了書籍篙挽、黑膠...
    L獨(dú)白閱讀 183評(píng)論 0 0
  • 來北京這幾年最深的體會(huì)就是假如上天賞個(gè)藍(lán)臉,那就不要輕易放棄與它親密的機(jī)會(huì)了镊靴,因?yàn)橄乱淮斡植恢螘r(shí)才能相見 如今我...
    迷綠閱讀 288評(píng)論 0 0