一鍵式彈出選單

2021-08-03 02:23:03 字數 938 閱讀 8473

一行**實現的彈出式選單,縮放彈出,帶有小箭頭

專案中有好幾個地方要用到彈出式小選單,於是自己動手封裝了乙個,雖然實現起來也比較簡單,但還是在這裡分享一下我的實現方法。先上效果圖:

使用:

[zgpopupmenuview popmenuwithbuilder:^(zgpopupmenuviewbuilder *builder)  select:^(nsinteger index, nsstring *item) ];
該彈出框的核心部分是小箭頭實現、位置的確定以及uitableview的一些設定。彈出選單的實現方式如下圖所示,使用uitableview實現選單部分,然後繪製裁剪路徑建立乙個cashapelayer實現uitableview的遮罩

[self.tableview

.layer setmask:[self getmaskshapelayer]];

- (cashapelayer *)getmaskshapelayer

這裡通過指定箭頭頂點位置、箭頭朝向及其所在邊的比例來確定位置

- (uibezierpath *)getmaskpath break

; case zgpopupmenuarrowleft:break

; case zgpopupmenuarrowbottom:break

; case zgpopupmenuarrowright:break

; default:

break

; }

[maskpath closepath];

return maskpath;

}

然後新建乙個容器uiview將建立成功的選單新增進去,再將整個容器置於uiwindow中

這裡有幾點注意的地方

彈出式選單

彈出式選單 popmenu 大家都熟悉,在win98的桌面上單擊滑鼠右鍵彈出的選單就是彈出式選單。通常情況下,彈出式選單在滑鼠右鍵單擊時彈出,當然,也可以根據需要隨時彈出。在vc 5的mfc中,管理選單的類叫cmenu。下面我向大家介紹建立乙個彈出式選單的基本方法。一 在資源編輯器中建立乙個選單資源...

彈出式選單(PopMenu)

彈出式選單 popmenu 大家都熟悉,在win98的桌面上單擊滑鼠右鍵彈出的選單就是彈出式選單。通常情況下,彈出式選單在滑鼠右鍵單擊時彈出,當然,也可以根據需要隨時彈出。在vc 5的mfc中,管理選單的類叫cmenu。下面我向大家介紹建立乙個彈出式選單的基本方法。一 在資源編輯器中建立乙個選單資源...

製作彈出式選單

lonkil 很老的一篇關於選單的文章,還是不錯的。發出來吧!一 在資源編輯器中建立乙個選單資源 新建乙個選單資源,比如把選單的id號為idc popmenu。此選單有一項兩層,即有乙個可彈出的選單項,而此選單項的彈出內容即為將要建立的彈 出式選單的內容。如右圖,可彈出項 下的選單即為將要建立的彈出...