欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS 带箭头的弹出框

程序员文章站 2022-09-24 10:46:13
ios 带箭头的弹出框 1.做什么? 许多项目中,需要用到带箭头的弹出框框,比如菜单的选择等等。效果类似这样 2.如何做? step1:在github下载并导入第三方文件:wbpopovervi...

ios 带箭头的弹出框

1.做什么?

许多项目中,需要用到带箭头的弹出框框,比如菜单的选择等等。效果类似这样

iOS 带箭头的弹出框iOS 带箭头的弹出框iOS 带箭头的弹出框

2.如何做?

step1:在github下载并导入第三方文件:wbpopoverview.h wbpopoverview.m ;找不到可以留言,我发给你哦。

step2:popview的初始化,需要指点其箭头弹出的位置和箭头弹出的方向;弹出框view是wbpopoverview的backview属性,可以在上面add想要的内容。最后显示wbpopoverview用pop方法。

- (void)popviewwithpoint:(cgpoint)point anddirction:(wbarrowdirection)direction
{
    self.popview = [[wbpopoverview alloc]initwithorigin:point width:200 height:300 direction:direction];
    //这里是设置backview的颜色
    self.popview.backview.backgroundcolor = [uicolor bluecolor];
    //弹出框
    [self.popview popview];
}


箭头的方向在有12个方向,在wbpopoverview.h中

typedef ns_enum(nsuinteger,wbarrowdirection){
    //箭头位置
    wbarrowdirectionleft1=1,//左上
    wbarrowdirectionleft2,//左中
    wbarrowdirectionleft3,//左下
    wbarrowdirectionright1,//右上
    wbarrowdirectionright2,//右中
    wbarrowdirectionright3,//右下
    wbarrowdirectionup1,//上左
    wbarrowdirectionup2,//上中
    wbarrowdirectionup3,//上右
    wbarrowdirectiondown1,//下左
    wbarrowdirectiondown2,//下中
    wbarrowdirectiondown3,//下右
};
以按钮1为例,指定箭头的位置是在按钮1的正下方中间,箭头的方向是在上方*。
- (ibaction)button1clicked:(uibutton *)sender {
    //设定箭头的位置
    cgpoint point = cgpointmake(sender.frame.origin.x+sender.frame.size.width/2, sender.frame.origin.y+sender.frame.size.height);
    //箭头的方向
    [self popviewwithpoint:point anddirction:wbarrowdirectionup1];
}