最近公司來了個(gè)新UI季率,可能技術(shù)不是很嫻熟半醉,苦了我們這幫苦逼程序猿... 今天講講項(xiàng)目中UI不給力沐寺,你該如何實(shí)現(xiàn)本功能涩惑; 屏幕快照 2017-02-28 19.35.07.png 首先看到這種界面的你們肯定是按鈕放在下面黃色UIImageView上上面低飒,但是注意 UI切圖肯定是就給你切黃色部分的 其他部分是鏤空的许昨。你創(chuàng)建UIImageView的時(shí)候肯定是和圖片一樣大的,這樣按鈕的frame就不在你UIImageView上了褥赊,這樣當(dāng)你點(diǎn)擊按鈕的時(shí)候糕档,是沒有事件的,不知道有多少苦逼似我的遇到過這樣的設(shè)計(jì)..... 好了拌喉,既然人都設(shè)計(jì)了速那,那就想想怎么出實(shí)現(xiàn)吧... 首先UIButton是放在UIImageView上的,UIImageView默認(rèn)是不帶交互的 必須先把他的userInteractionEnabled 設(shè)置為YES; 當(dāng)你點(diǎn)擊按鈕的時(shí)候 事件傳遞下去找不到你的imageview了尿背,這怎么辦端仰??田藐?荔烧??汽久? 我在網(wǎng)上找了幾篇資料但是效果都不對(duì)鹤竭,不知道為何他們就可以,不過遇到這種狀況的話兩個(gè)解決辦法: 1景醇,讓你們UI切個(gè)上面鏤空的圖 這樣你的UIButton 還在UIImageView上就能響應(yīng)事件了臀稚。 2,笨方法 下面放一個(gè)view 設(shè)置透明 這樣不就實(shí)現(xiàn)了三痰? 3吧寺,就是重寫 view的系統(tǒng)方法hittest 方法,網(wǎng)上很多這個(gè)??散劫,但是每一個(gè)是對(duì)的................. 很無語稚机,不知道不對(duì)為什么那么多人重復(fù)的發(fā)表,這不耽誤我這苦逼的時(shí)間嘛!!!! 所以在這建議寫B(tài)log的程序猿們获搏,對(duì)的就拿出來不對(duì)可千萬別放出來坑人 (說的多了...咳咳...) 好吧 其實(shí)這個(gè)方法我之前做彈幕點(diǎn)擊事件的時(shí)候?qū)戇^抒钱,但是呢由于時(shí)間問題,就簡(jiǎn)單說下吧颜凯,誰遇到了知道怎么解決就行... 代碼后期更新上去,今天就嘮叨到這吧....