iOS使用UIBezierPath畫圓角

2022-05-16 07:11:14 字數 1044 閱讀 1666

這種方法簡單,但是很影響效能,特別是在uicollectionview中展示大量圓角,一般在正常的開發中使用很少

uiimageview *imageview = [[uiimageview alloc]initwithframe:cgrectmake(100, 100, 100, 100)];

//設定圓角

imageview.layer.cornerradius = imageview.frame.size.width / 2;

//將多餘的部分切掉

imageview.layer.maskstobounds = yes;

[self.view addsubview:imageview];

第二種方法:使用cashapelayer和uibezierpath設定圓角,第種最好,對記憶體的消耗最少,而且渲染快速

uiimageview *view = [[uiimageview alloc]initwithframe:cgrectmake(100, 100, 100, 100)];

view.backgroundcolor = [uicolor redcolor];

[self.view addsubview:view];

uibezierpath *path = [uibezierpath bezierpathwithroundedrect:view.bounds byroundingcorners:uirectedgeleft |

uirectcornerbottomleft cornerradii:cgsizemake(10, 10)];

cashapelayer *masklayer = [[cashapelayer alloc]init];

masklayer.frame = view.bounds;

masklayer.path = path.cgpath;

view.layer.mask = masklayer;

uirectedgeleft 可以根據需求設定需要設定圓角的位置。

IOS 陣列使用

arc下 定義陣列 nsmutablearray tt和nsmutablearray tb 當nsmutablearray tb nsmutablearray alloc init nsdictionary d nsdictionary dictionarywithobject 123 forkey...

iOS使用濾鏡

ciimage.這個類儲存影象資料。它可以從uiimage 影象檔案 或者是畫素資料中構造出來。cifilter.濾鏡類包含乙個字典結構,對各種濾鏡定義了屬於他們各自的屬性。濾鏡有很多種,比如鮮豔程度濾鏡,色彩反轉濾鏡,剪裁濾鏡等等。把uiimage轉換成濾鏡可以操作的ciimage ciimage...

ios 記憶體使用陷阱

在iphone開發過程中,中的記憶體洩露我們很容易用記憶體檢測工具leaks 檢測出來,並一一改之,但有些是因為ios 的缺陷和用法上的錯誤,leaks 檢測工具並不能檢測出來,你只會看到大量的記憶體被使用,最後收到didreceivememorywarning,最終導致程式崩潰。以下是開發過程中遇...