之前做項(xiàng)目發(fā)現(xiàn)一個(gè)有一個(gè)奇怪按鈕
加上中間一個(gè)是七個(gè)按鈕,而且下面兩個(gè)還有曲線闲孤,然后各種百度凳寺,谷歌,發(fā)現(xiàn)了兩個(gè)很棒的思路:https://github.com/ole/OBShapedButton乒验,http://code.cocoachina.com/view/126555往毡,但是還是滿足不了我的需求,雖然第二個(gè)也是用貝塞爾曲線做的洪乍,但我很難用代碼畫出底部的兩個(gè)曲線按鈕眯杏,然后我想起了用 paintcode 做,主要思路就是用扇形壳澳,然后底部的時(shí)候再用貝塞爾屬性調(diào)整下弧度整體就差不多了岂贩,上圖
最后給每個(gè)按鈕塊添加點(diǎn)擊方法巷波,先把這七個(gè)path添加到pathArray(另外兩個(gè)是底部凹槽處萎津,把他們也添加進(jìn)數(shù)組是為了防止點(diǎn)擊出現(xiàn)錯(cuò)誤)
然后給view添加手勢(shì)卸伞,判斷點(diǎn)擊的時(shí)候是否在當(dāng)前有效的點(diǎn)擊區(qū)域內(nèi)
代理方法:
是用了http://code.cocoachina.com/view/126555 這個(gè)的思路,非常感謝锉屈。
demo:https://github.com/yqy159/-UIBezierPath-
想到啥說(shuō)啥荤傲,沒怎么排版,請(qǐng)見諒部念,如有不懂請(qǐng)留言弃酌。
2018.4.19
更新一下,放圖標(biāo)一定要用svg儡炼,不然png放上去會(huì)模糊妓湘,svg放上去后paintcode會(huì)自動(dòng)幫你畫出圖標(biāo)