ios 控制項切圓 iOS 切除控制項乙個或多個圓角

2021-10-13 13:19:37 字數 1598 閱讀 6743

我們在專案開發過程中都會遇到 產品狗提出的一些設計,ui美工給的一些奇葩設計圖。。。。

可是我們是程式設計師,還是忍了。。。。

下面關於ios中控制項切除乙個或者多個圓角。

其實切乙個圓角你會了,切多個圓角當然可以類似啦。。。。文章後面會講到乙個列舉。

此處給列舉乙個切圓角的例子。。。。

uiimageview *im**iew = [[uiimageview alloc] initwithframe:cgrectmake(0, 0, 4.5, 49.5)];

im**iew.backgroundcolor = [uicolor yellowcolor];

[self.view addsubview:im**iew];

uibezierpath* rounded = [uibezierpath bezierpathwithroundedrect:self.view.bounds byroundingcorners:uirectcornertopleft cornerradii:cgsizemake(5, 5)];

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

[shape setpath:rounded.cgpath];

im**iew.layer.mask = shape;

這樣就可以切除的乙個圓角了。。。。。

要想做到切除控制項的多個圓角,往下看。。。

只需要在uibezierpath* rounded = [uibezierpath bezierpathwithroundedrect:self.view.bounds byroundingcorners:uirectcornertopleft cornerradii:cgsizemake(5, 5)];     中的byroundingcorners,可以使用到有以下四個列舉數值。。。。

uirectcornertopleft       左上

uirectcornertopright    右上

uirectcornerbottomleft  左下

uirectcornerbottomright  右下

此處告一段落。

下面說一下,在tableviewcell**現以下這樣的

cell設計圖

左側顏色條,我使用的是uiimageview,右側深藍色寬條使用的是uiview。。。。

針對uiimageview,我使用的就是上述講的方法,列舉設定左上和左下。

而下面重頭戲來了!!!針對uiview的右側大圓角,你會怎麼做了?看到這點,你肯定會想還用上邊那個方法。。。(估計也可以,等下我給嘗試下,給個結果)

先講個簡單的方法,就是在controller中的cellforrow,可以直接使用乙個私有的方法來設定,addroundedcorners:uirectcornertopright|uirectcornerbottomright withradii:cgsizemake(cell.frame.size.height, cell.frame.size.height)];

其實這種方法也很類似於上側講述的方法,但是這種寫個自定義的uiview的擴充套件類,也挺不錯的。。。。

這種私有擴充套件類,僅供參考。。。。。

如果有更好的方法,歡迎指點,謝謝!?

ios整理(一)控制項

讓控制項顯示出來的4大要素 一 以為例 1.例項化控制項 uiimageview img uiimageview alloc init 簡寫uiimageview img uiimageview new 2.設定控制項內容,後面的background是名稱,只需拖進專案的assets檔案即可 img...

iOS日曆控制項

專案需要,前一陣子重構了下ipad工程,新增了乙個滾動無縫日曆。當時沒有頭緒,網上找了乙個原始碼改吧改吧就上線了 參考鏈結 這個功能很多而且流暢性也特別好,推薦不會寫的可以參考下。這幾天,活不太忙就把日曆控制項裁剪了下,做個最簡單的滾動無縫日曆。效果如下圖 日曆可以左右滾動,點選某個日期後會變色,並...

iOS長按控制項

前言 網上看到乙個button的長按控制項效果不錯,乙個菱形從中間向兩邊增大,研究了下 原理上圖紅色是控制項上面放了檢視,從上到下分別是view,normallable,highlightlabel,button 其中view是順時針旋轉了45度 通過點選控制項觸發裡面的按鈕的監聽事件 按下沒有鬆手...