UIKit繪制

UIKit是高級別的圖形接口,它的API都是基于Objective-C的架忌。它能夠訪問繪圖吞彤、動畫、字體叹放、圖片等內(nèi)容饰恕。

繪制視圖

1.視圖繪制周期

    drawRect
        setNeedsDisplay
        setNeedsDisplayInRect

觸發(fā)視圖重新繪制的動作有如下幾種

  • 當(dāng)遮擋你的視圖的其他視圖被移動或刪除操作的時候
  • 將視圖的hidden屬性聲明設(shè)置為No,使其從隱藏狀態(tài)變?yōu)榭梢?/li>
  • 將視圖滾出屏幕井仰,然后再重新回到屏幕上
  • 顯式調(diào)用視圖的setNeedsDisplay或者setNeedsDisplayInRect:方法

2.填充矩形

    //為當(dāng)前的圖形上下文設(shè)置要填充的顏色
    [[UIColor redColor] setFill];
    //填充矩形函數(shù)-按照方才設(shè)置的顏色進(jìn)行填充矩形
    UIRectFill(rect);

3.填充與描邊

UIKit提供非陈袂叮基本的繪圖功能,主要的API有

  • UIRectFill(CGRect rect)糕档,填充矩形函數(shù)
  • UIRectFrame(CGRect rect)莉恼,矩形描邊函數(shù)
  • UIBezierPath拌喉,繪制常見路徑類速那,包括線段、弧線尿背、矩形端仰、圓角矩形和橢圓的方法。

UIKit雖然提供了UIBezierPath等類田藐,但是對于線段荔烧、漸變,陰影汽久,反鋸齒等高級特性支持還是不及Quartz 2D

    //設(shè)置描邊顏色
    [[UIColor blackColor] setStroke];
    CGRect frame = CGRectMake(20, 30, 100, 300);
    //矩形描邊函數(shù)
    UIRectFrame(frame);

4.繪制圖像和文本

/*UIImage類中繪制圖像主要的方法*/
//-drawAtPoint:(CGPoint)point   設(shè)置繪制定點(diǎn)
//-drawInRect:(CGRect)rect      圖片繪制在指定的矩形里
//-drawAsPatternInRect:(CGRect)rect     在指定的矩形里平鋪繪制圖片鹤竭,如果圖片大小超出了指定的矩形,形式上與-drawAtPoint:方法類似景醇,如果圖片大小小于指定的矩形臀稚,就會有平鋪的效果
- (void)drawImage
{
    NSString *imagePath = [[NSBundle mainBundle] pathForResource:@"photo" ofType:@"jpg"];
    UIImage *myImageObj = [[UIImage alloc] initWithContentsOfFile:imagePath];
    [myImageObj drawInRect:CGRectMake(0, 40, 320, 400)];
}

把圖片放在矩形中顯示,由于矩形高度比例與圖片的原始比例不一樣導(dǎo)致圖片變形三痰,這是使用drawInRect:方法進(jìn)行繪制圖片時需要注意的吧寺。

/*NSString類中繪制文本主要的方法*/
//-(void)drawAtPoint:(CGPoint)point withAttributes:(NSDictionary *)attrs    文本在指定點(diǎn)繪制
//-(void)drawInRect:(CGRect) withAttributes:(NSDictionary *)attrs   文本在指定的矩形里繪制
- (void)drawString
{
    NSString *s = @"我的小馬";
    UIFont *font = [UIFont systemFontOfSize:14.0];
    NSDictionary *attr = @{NSFontAttributeName:font};
    [s drawAtPoint:CGPointMake(100, 20) withAttributes:attr];
    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末窜管,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子稚机,更是在濱河造成了極大的恐慌幕帆,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赖条,死亡現(xiàn)場離奇詭異失乾,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纬乍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門仗扬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人蕾额,你說我怎么就攤上這事早芭。” “怎么了诅蝶?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵退个,是天一觀的道長。 經(jīng)常有香客問我调炬,道長语盈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任缰泡,我火速辦了婚禮刀荒,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棘钞。我一直安慰自己缠借,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布宜猜。 她就那樣靜靜地躺著泼返,像睡著了一般。 火紅的嫁衣襯著肌膚如雪姨拥。 梳的紋絲不亂的頭發(fā)上绅喉,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機(jī)與錄音叫乌,去河邊找鬼柴罐。 笑死,一個胖子當(dāng)著我的面吹牛憨奸,可吹牛的內(nèi)容都是我干的革屠。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屠阻!你這毒婦竟也來了红省?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤国觉,失蹤者是張志新(化名)和其女友劉穎吧恃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體麻诀,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡痕寓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蝇闭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呻率。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖呻引,靈堂內(nèi)的尸體忽然破棺而出礼仗,到底是詐尸還是另有隱情,我是刑警寧澤逻悠,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布元践,位于F島的核電站,受9級特大地震影響童谒,放射性物質(zhì)發(fā)生泄漏单旁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一饥伊、第九天 我趴在偏房一處隱蔽的房頂上張望象浑。 院中可真熱鬧,春花似錦琅豆、人聲如沸愉豺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽粒氧。三九已至,卻和暖如春节腐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摘盆。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工翼雀, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人孩擂。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓狼渊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子狈邑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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

  • iOS兩大繪圖框架:UIKit像UIImage城须、NSString(繪制文本)、UIBezierPath(繪制形狀)...
    iOS謝先森閱讀 865評論 0 0
  • --繪圖與濾鏡全面解析 概述 在iOS中可以很容易的開發(fā)出絢麗的界面效果米苹,一方面得益于成功系統(tǒng)的設(shè)計(jì)糕伐,另一方面得益...
    韓七夏閱讀 2,737評論 2 10
  • Quartz2D以及drawRect的重繪機(jī)制字?jǐn)?shù)1487 閱讀21 評論1 喜歡1一、什么是Quartz2D Q...
    PurpleWind閱讀 775評論 0 3
  • 01. 我接到這樣一條求救短信。 “眠羊训唱,求你救救我女朋友的安全感吧褥蚯!” 隨后,他又發(fā)了很長一段話給我况增。 “我們認(rèn)...
    眠羊MY閱讀 489評論 1 1
  • 五一勞動節(jié)三天假赞庶,大部分時間在追《人民的名義》,以我個人對男人的品味澳骤,我比較喜歡李達(dá)康和趙東來尘执。看網(wǎng)上的評論宴凉,也有...
    島嶼書閱讀 198評論 4 2