首页 > 其他分享 >iOS上的Popover

iOS上的Popover

时间:2023-05-21 23:04:01浏览次数:52  
标签:ZRPopoverView kZRPopoverViewTitle menus iOS kZRPopoverViewIcon popover Popover b


ZRPopoverView

ZRPopoverView is a popover view that pop UIView with a list of button by customising events and contents.

#

1.If you like invoke this events by block so that Choose No.1 .

#

2.If you like invoke this events by delegate so that Choose No.2.

Effect Photo

iOS上的Popover_ios

iOS上的Popover_pop_02

How to get started


Installation


CocoaPods is a dependency manager for Objective-C , which anutomates and simplifies the process of using 3rd-party libraries like ZRPopoverView in you projects.

$ gem install cocoapods

Cocoapods 1.0.0+ is required to build ZRPopoverView 1.5

podfile

To integrate ZRPopoverView into your Xcode project using Cocoapods, specify it in your Podfile:

platform :ios, '7.0'  

pod 'ZRPopoverView', '~>1.5'

Then, run the following command:

$ pod install

Usage


Show an top of left popover menu and theme is default , which means black background and white character. Events can invoke by block or delegate.
NSArray *menus = @[
                      @{ kZRPopoverViewTitle: @"Group Chat", kZRPopoverViewIcon: @"btn_Inter" },
                      @{ kZRPopoverViewTitle: @"Add Contacts", kZRPopoverViewIcon: @"btn_notice"  },
                      @{ kZRPopoverViewTitle: @"Scan QR Code", kZRPopoverViewIcon: @"btn_Inter"  },
                      @{ kZRPopoverViewTitle: @"Money", kZRPopoverViewIcon: @"btn_Tele"  }
                      ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleDefault menus:menus position:ZRPopoverViewPositionLeftOfTop];
    [popover showWithController:self completion:^(int index) {
        NSLog(@"index = %d", index );
    }];
Show an top of center popover menu and theme is superficial color , which means white background and black character. Events can invoke by block or delegate.
//You can add `ZRPopoverViewDelegate` to conform this protocol
    //Only one method need to implement `- (void)popoverView:(ZRPopoverView *)popoverView didClick:(int)index;`

    NSArray *menus = @[
                       @{ kZRPopoverViewTitle: @"创建群聊" },
                       @{ kZRPopoverViewTitle: @"私信" },
                       @{ kZRPopoverViewTitle: @"发送短信" },
                       @{ kZRPopoverViewTitle: @"直接拨打电话" },
                       @{ kZRPopoverViewTitle: @"VoIP电话" }
                       ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleLightContent menus:menus position:ZRPopoverViewPositionCenterOfTop];
    popover.delegate = self;
    [popover showWithController:self];
Show an top of right popover menu and theme is superficial color , which means white background and black character. Events can invoke by block or delegate.
NSArray *menus = @[
                       @{ kZRPopoverViewTitle: @"Payment" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"Using Paypal" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"For Messenger" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"Say Hello To" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"AR/VR Store" , kZRPopoverViewIcon: @"btn_Install" }
                       ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleLightContent menus:menus position:ZRPopoverViewPositionRightOfTop];
    [popover showWithController:self completion:^(int index) {
        NSLog(@"index = %d", index );
    }];

ZRPopoverView

ZRPopoverView是一个非常好用的弹出菜单,使用者可以自定义内容和事件.

#

1.事件的回调,喜欢block的,请使用第一种方式

#

2.事件的回调,喜欢delegate的,请使用第二种方式

如何开始


安装


CocoaPods Cocoapods是一个Objective-C的库文件依赖管理器,它会自动的,简单化的集成第三方库到你的项目,例如ZRPopoverView。

$ gem install cocoapods

Cocoapods 1.0.0+ is required to build ZRPopoverView 1.5

podfile

使用Cocoapods把ZRPopoverView库集成到你的项目,podfile文件内容如下

source 'https://github.com/VictorZhang2014/ZRPopoverView'
platform :ios, '7.0'  

pod 'ZRPopoverView', '~>1.5'

接着,运行以下命令

$ pod install

使用方法


显示一个左上角的popover菜单,默认主题是default, 黑色背景加白色文字 ,事件回调是block,也可以是delegate

NSArray *menus = @[
                      @{ kZRPopoverViewTitle: @"Group Chat", kZRPopoverViewIcon: @"btn_Inter" },
                      @{ kZRPopoverViewTitle: @"Add Contacts", kZRPopoverViewIcon: @"btn_notice"  },
                      @{ kZRPopoverViewTitle: @"Scan QR Code", kZRPopoverViewIcon: @"btn_Inter"  },
                      @{ kZRPopoverViewTitle: @"Money", kZRPopoverViewIcon: @"btn_Tele"  }
                      ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleDefault menus:menus position:ZRPopoverViewPositionLeftOfTop];
    [popover showWithController:self completion:^(int index) {
        NSLog(@"index = %d", index );
    }];

显示一个上中间的popover菜单,主题是浅色,白色背景加黑色文字,事件回调可以是block,也可以是delegate

//添加`ZRPopoverViewDelegate`协议并且遵循该协议的方法
    //只需要实现此方法`- (void)popoverView:(ZRPopoverView *)popoverView didClick:(int)index;`

    NSArray *menus = @[
                       @{ kZRPopoverViewTitle: @"创建群聊" },
                       @{ kZRPopoverViewTitle: @"私信" },
                       @{ kZRPopoverViewTitle: @"发送短信" },
                       @{ kZRPopoverViewTitle: @"直接拨打电话" },
                       @{ kZRPopoverViewTitle: @"VoIP电话" }
                       ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleLightContent menus:menus position:ZRPopoverViewPositionCenterOfTop];
    popover.delegate = self;
    [popover showWithController:self];

显示一个右上角的Popover菜单,主题是浅色,白色背景加黑色文字,事件回调是block,也可以是delegate

NSArray *menus = @[
                       @{ kZRPopoverViewTitle: @"Payment" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"Using Paypal" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"For Messenger" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"Say Hello To" , kZRPopoverViewIcon: @"btn_Install" },
                       @{ kZRPopoverViewTitle: @"AR/VR Store" , kZRPopoverViewIcon: @"btn_Install" }
                       ];
    ZRPopoverView *popover = [[ZRPopoverView alloc] initWithStyle:ZRPopoverViewStyleLightContent menus:menus position:ZRPopoverViewPositionRightOfTop];
    [popover showWithController:self completion:^(int index) {
        NSLog(@"index = %d", index );
    }];


标签:ZRPopoverView,kZRPopoverViewTitle,menus,iOS,kZRPopoverViewIcon,popover,Popover,b
From: https://blog.51cto.com/u_14062833/6320539

相关文章

  • iOS应用通过地址(URL)安装
    目标:iOS应用通过URL地址来安装准备:1.bundleidentifier2.应用图标3.下载地址  完整的下载地址是itms-services://?action=download-manifest&url=https://www.yourdomain.cn/download/2.1.0-10637/test.116d7.56d82df.20170122.test.domain.cn.ipa.plist其中,配置test.116d7.56d8......
  • 14-Filter&Listener&Ajax&Axios&JSON
    1,Filter1.1Filter概述Filter表示过滤器,是JavaWeb三大组件(Servlet、Filter、Listener)之一。Servlet我们之前都已经学习过了,Filter和Listener我们今天都会进行学习。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能。如下图所示,浏览器可以访问服务器上的所有......
  • OpenAI 官宣首个 ChatGPT iOS 应用
    最近,OpenAI宣布推出官方iOS应用,允许用户随时随地访问其高人气AI聊天机器人,此举也打破了近几个月内苹果AppStore上充斥似是而非的山寨服务的窘境。该应用程序是ChatGPT的首个官方移动应用程序。ChatGPT软件程序在去年推出后迅速获得了超过1亿用户,这也让技术行业火速......
  • ChatGPT 推出 iOS 应用,支持语音输入,使用体验如何?
    最近,OpenAI宣布推出官方iOS应用,允许用户随时随地访问其高人气AI聊天机器人,此举也打破了近几个月内苹果AppStore上充斥似是而非的山寨服务的窘境。该应用程序是ChatGPT的首个官方移动应用程序。ChatGPT软件程序在去年推出后迅速获得了超过1亿用户,这也让技术行业火速......
  • iOS视频播放常用重点知识
    iOS视频播放常见的重要知识点如下:视频格式:iOS支持的视频格式主要有H.264、MPEG-4、H.263、Sorenson等。它们根据不同的应用场景进行使用。视频编解码:视频编解码技术是视频播放的核心,它有两部分组成,1.将原始视频数据编码为压缩格式,2.将压缩格式的数据解码成原始视频数据。在iOS中......
  • IOS证书制作教程
    ​转载:IOS证书制作教程 点击苹果证书按钮​编辑 点击新增​编辑 输入证书密码,名称这个密码不是账号密码,而是一个保护证书的密码,是p12文件的密码,此密码设置后没有其他地方可以找到,忘记了只能删除证书重新制作,所以请务必记住密码。还有为了安全起见,密码不要......
  • axios设置请求体
    方式一:json请求方式二:form表单 <template><div>{{msg}}</div></template><script>exportdefault{data:()=>({msg:'',}),created(){constaxios=require('axios......
  • 记录--axios和loading不得不说的故事
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助loading的展示和取消可以说是每个前端对接口的时候都要关心的一个问题。这篇文章将要帮你解决的就是如何结合axios更加简洁的处理loading展示与取消的逻辑。首先在我们平时处理业务的时候loading一般分为三种:按钮l......
  • axios的使用
    一、定义:是一个基于Promise,可以用于浏览器和node.js的HTTP客户端二、基本用法1、发起请求:设置请求方法2、传递参数方式:(1)通过传统的url以?的形式传递参数(2)通过params形式传递参数3、接收响应值 组建:<template><div>{{msg}}</div></templa......
  • win10定时开关机(很多地方总结的定时开机不生效),要用主板bios设置才可以
    1.定时关机(可以使用windows中计划任务)1.此电脑右键-->管理-->系统工具-->任务计划程序库-->右侧创建基本任务2.名称:定时关机,触发器:每天,开始时间2023/05/1817:30:00,启动程序:浏览选择C:\Windows\System32\shutdown.exe,参数:-s 2.定时开机(系统中设置开机,肯定不行。......