包括我在內,大部分人看了理**章後,可能還是一知半解。想要看具體實現,能找到的都是yykit、asdk這種重量型的框架,頓感頭大。萌新只是簡單想優化一下圓角卡頓而已 o(╥﹏╥)o
ios9以後,uiimageview的圓角已經不需要我們操心了
之前很多人可能就已經知道,最簡單粗暴的辦法就是讓ui切一張圖蓋在上面。但這樣不同的圓角尺寸無法復用。本方案就是沿著這個思路自己畫一張這樣的圖。
僅適用於背景色為純色的場景
//
// uiview+zhradius.m
// zhdemos
//// created by xuzhenhao on 2018/7/11.
//#import "uiview+zhradius.h"
@implementation uiview (zhradius)
#pragma mark - public method
- (void)zh_addradius:(cgfloat)radius
corners:(uirectcorner)corners
bgcolor:(uicolor *)bgcolor);
}#pragma mark - private method
- (uiimageview *)_addcornerimageview
}if (!imageview)
return imageview;
}- (void)_addcornerradius:(cgfloat)radius corners:(uirectcorner)corners imageview:(uiimageview *)imageview bounds:(cgrect)bounds bgcolor:(uicolor *)bgcolor);
}@end
複製**
UIView的繪製原理 和 非同步繪製的實現
uiview 繪製原理 1 當我們呼叫 uiview setneedsdisplay 這個方法時,其實並沒有立即進行繪製工作,系統會立即呼叫calayer的同名方法,並且在當前layer上打上乙個標記,然後會在當前runloop將要結束的時候呼叫calayer display 這個方法,然後進入檢視...
iOS效能優化 非同步繪製
通讀下來可以總結一下對效能優化,在這裡也就是提高介面流暢度的宗旨只有一句話唯而已 把能非同步執行的都盡量非同步執行.yyfpslabel拿過來用了,檢測fps的變化情況 可以看到,在滑動很快的時候,fps最低已經達到了20幾.經過非同步繪製處理之後,可以看到無論如何滑動,fps一直保持在60.這是我...
實現非同步通訊
實現非同步通訊 1 定義 ajax的核心物件xmlhttprequest xmlhttprequest 是瀏覽器的xmlhttp元件的物件,通過該物件ajax可以像桌面應用程式一樣同伺服器進行資料層面的互動,不需要每次都進行整個頁面的重新整理。2 步驟 1 初始化物件並傳送xmlhttpreques...