`
penuel
  • 浏览: 30679 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Iphone开发,做弹出视图Popup View

 
阅读更多

背景:

遇到一个需求,是点击按钮,不跳转任何页面,在点击的位置弹出一个view,然后做相应处理,

将数据返回给当前视图;

初步思路:

做一个透明的UIView,通过鼠标点击时间,记录坐标,然后根据该坐标present出一个UIView;

思路没问题,但是做起来太费时;想找个更简单的方法:

发现控件UIPopoverController是做弹层视图的,既然有满足要求的控件那就直接用嘛,结果发现没效果,而且不报错。。。再查之说是只能再ipad上用,因为iphone之类屏幕太小所以用不了。。坑啊。

难道要用之前想的那么做,还好有人已经做了那样想法的开源code了,只需要引入自己的工程调用即可。使用方法和UIPopoverController的API一模一样。

地址:https://github.com/werner77/WEPopover

实现:

一:简单

从上面网址点ZIP下载源码到本地,你可以直接运行查看效果;

如果要自己用,我们关注的代码是popover目录下的:


二:使用

上面自己看过效果后,然后在自己项目中使用:

需要的效果是:


首先将目录popover add到自己项目里面,基本你需要关心的就只有一个类WEPopoverController,做的效果就是弹出视图;

WEPopoverController有一个属性contentViewController就是将你需要弹出展示的view放在其中;

初始代码如下:在导航栏rightButton添加按钮点击事件(当然你可以用任何可以触发的事件,任意button或者tableView的section点击事件)

kaipaoButtonItem = [[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"icon_game.png"] style:UIBarButtonItemStylePlain target:self action:@selector(showPopView)];

showPopView点击事件做的事就是弹出视图:注明:其中YLChatMenuViewController是自己写的需要展示的菜单;

-(void)showPopView{
    if (self.popController) {//如果视图已弹出,则点击就是关闭视图
		[self.popController dismissPopoverAnimated:YES];
    }
    YLChatMenuViewController *contentViewController = [[YLChatMenuViewController alloc]initWithStyle:UITableViewStylePlain];
    contentViewController.chatViewController=self;
    self.popController = [[WEPopoverController alloc] initWithContentViewController:contentViewController];
//将chatmenueview设置为pop的content即中心展示
 [self.popController presentPopoverFromBarButtonItem:kaipaoButtonItem permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES]; }

如上是已经完成全部工作;

注意:

1:如果要更改其背景或箭头等图片方式:

设置属性WEPopoverContainerViewProperties即可,可以仿照WEPopoverController类中defaultContainerViewProperties方法;

甚至你可以直接改此方法中用到的图片等;因为如果你不设置WEPopoverController.containerViewProperties属性,就会用默认的方法;

初始化如下

WEPopoverContainerViewProperties *props = self.containerViewProperties ? self.containerViewProperties : [self defaultContainerViewProperties];

当然你也可以不用这些箭头什么的,直接更改你放入contentViewController(chatMenuController)的view背景色或背景图片

UIImageView * image = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"popup_bg.9.png"]];
    [self.tableView setBackgroundView:image];

2:设置弹层大小

直接设置chatmenuView

self.contentSizeForViewInPopover = CGSizeMake(150, 150);


分享到:
评论

相关推荐

    iOS-Github上15种弹出视图(Popup View)源码

    在iOS开发中,弹出视图(Popup View)是一种常见的用户界面元素,它通常用于显示临时的通知、选项菜单或者模态对话框。本资源集合包含了从GitHub上精选的15种不同的弹出视图源码,这对于开发者来说是一个宝贵的参考...

    (0060)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-TableView Within Alert

    在iOS开发中,有时我们需要在用户交互过程中展示一些额外信息,这时弹出视图(Popup View)或对话框(Dialogue)就显得尤为重要。本资源"(0060)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-TableView...

    iOS 弹出视图

    在iOS开发中,弹出视图(Popup View)是一种常见的用户界面元素,它可以在主界面之上显示临时的信息、选项或操作。这种设计模式通常用于显示警告、确认对话框或者提供额外的功能选择。本文将深入探讨iOS中实现弹出...

    (0124)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-UITextField within Alert Prompt

    标题提到的"iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-UITextField within Alert Prompt"着重于在弹出视图,特别是`UIAlertView`中添加文本输入字段(`UITextField`),以实现如登录框这样的功能。...

    (0095)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-Hidden Option Panel

    在iOS开发中,创建一个可隐藏的弹出视图(Popup View)是常见的设计模式,尤其是在iPhone、iPad或iPod Touch的应用中。这种视图通常用于显示附加的选项或者功能,用户可以通过点击一个小的触发控件(如箭头按钮)来...

    (0053)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-PopTip View

    实现各种弹出消息/tips的效果。点击任意控件,按钮,导航条按钮,工具条按钮(UIBarButtonItem),都会弹出消息气泡。弹出的气泡会自动定位在相应的按钮旁边,并且有小箭头指向这个按钮。气泡的文字和颜色可以自定义...

    (0178)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-Notification Manager

    在窗口顶端弹出自定义的提示视图(notification View)。弹出的notification view可以自动隐藏。如果有多个notification view,则进行排队,按顺序显示。可用于显示当前app的状态,用户操作的提示、提醒通知等等。...

    (0153)-iOS/iPhone/iPAD/iPod源代码-弹出视图(Popup View)-Info Bar

    用于当后台有任务运行时,或者用户进行了某些耗时较长的操作时,用于给用户显示提示信息。显示的提示信息位置位于...在效果图中,“Action From View 1”便是显示的提示信息,可以自动隐藏。 注意:请在Mac下解压使用

    史上最全的ios开发源码

    弹出视图(Popup View)之自定义菜单UIMenuBar 弹出视图-Patterned Alert View 弹出视图-Table Alert 弹出视图类--Blur ModalView 弹出视图类--Depth View 弹出视图类--FWTPopover 弹出视图类--icon sheet 弹出...

    仿iphone的点击按钮弹出二级菜单效果

    在Android开发中,实现仿iPhone的点击按钮弹出二级菜单效果是一种常见的交互设计,它可以提升用户的操作体验。这个功能涉及到Android的视图(View)、事件处理(Event Handling)、动画(Animation)以及布局(Layout)等多...

    Popup View(iPhone源代码)

     实现各种弹出视图/气泡效果。点击任意控件,如按钮、导航条按钮、工具条按钮等,都会弹出消息气泡。弹出的视图会自动定位在相应的按钮旁边,并且有小箭头指向这个按钮。可以在弹出视图上加文字、控件或者图片。还...

    IOS应用源码Demo-超炫的弹出框选择列表效果-毕设学习.zip

    在iOS应用开发中,弹出框(Popup)和选择列表(Picker View)是常见的交互元素,它们能够提供用户友好的界面来展示信息和接收用户的选择。这个“超炫的弹出框选择列表效果”源码Demo是专为iOS毕业设计学习而设计的,...

    Popup View Controller(iPhone源代码)

     实现弹出视图的各种弹出和消失效果,包括淡入淡出(fade in,fade out),从屏幕上方飞进,下方飞出,从屏幕左方飞进,右方飞出等等效果。 小编注:代码只支持ARC编译模式。 Code4App编译测试,适用环境:Xcode ...

    IOS应用源码之酷炫的popup子菜单 .rar

    首先,popup子菜单在iOS中通常被称为`UIPopoverController`或自定义的视图控制器,但在iPhone设备上由于屏幕尺寸限制,`UIPopoverController`并不适用,因此开发者会采用类似`UIAlertController`、自定义`UIView`或...

    Slider with Popup View(iPhone源代码)

    来源:Licence:MIT平台:iOS设备:iPad作者:Collin ... 在Slider上加上弹出小视图。当用户手指移动滑块时,在滑块的上方弹出一个小文字框。不过,仅适用于iPad。 Code4App编译测试,适用环境:Xcode 4.3, iOS 5.0。

    ios-ACPayPwdView.zip

    "弹出视图"(Popup View)是一种常见的界面设计手法,它能够在不打断用户当前操作流程的情况下,提供额外的功能或信息。 ACPayPwdView可能是由Objective-C或Swift编写的一个自定义视图类,具备以下主要特点和功能:...

    ios-一行代码集成头像的选择,照片选择器.zip

    项目的核心功能在于提供了一个弹出视图(Popup View),用户可以在这个视图中浏览和选择照片。这种设计遵循了iOS的用户界面指南,使得用户体验更为流畅和一致。该库支持从相机和相册选取图片,同时也兼容了Swift和...

    JWPopover:Popover或PopupView。易于使用于popover或popup

    例如,你可以使用`showFromRect:inView:animated:`方法来指定Popover从哪个视图的矩形区域弹出,以及是否需要动画效果。 `JWPopover`还支持自定义外观。你可以设置背景颜色、边框宽度、边框颜色,甚至可以添加阴影...

    XYMenu:OC Swift一个简单的弹出菜单

    XYMenu 是一款适用于 iOS 开发的轻量级弹出菜单组件,它支持 Objective-C 和 Swift 两种编程语言。这个库的主要目标是为用户提供一个简洁、易于定制的界面,以展示一系列选项,通常在用户点击某个按钮后弹出。XYMenu...

Global site tag (gtag.js) - Google Analytics