首页
学习
活动
专区
圈层
工具
发布

iOS中UIPopoverController使用详解

iOS中UIPopoverController使用详解 一、引言         UIPopoverController是Pad设备中常用的一种视图控制器,其在UI表现上为在当前视图控制器上面弹出一个子视图控制器...UIPopoverController只能用于iPad,在要兼容iPad和iPhone的项目中,需要根据设备类型使用两套代码。...二、UIPopoverController的使用详解         首先UIPopoverController是一个容器控制器,其中需要承载一个ViewControler作为内容视图。.../* 默认情况下,当视图控制器弹出时,点击界面上的其他位置,视图控制器会被隐藏 如果需要当视图控制爱弹出时界面上的其他控件依然可以进行用户交互,则需要将这些UI控件设置进这个数组中 */ @property...(5_0); 三、自定义UI展现的UIPopoverController         通过设置UIPopoverController对象的popoverBacjgroundViewClass属性可以将一个自定义的类作为控制器的背景视图

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS学习——UIPickerView的实现年月选择器

    最近项目上需要用到一个选择器,选择器中的内容只有年和月,而在iOS系统自带的日期选择器UIDatePicker中却只有四个选项如下,分别是时间(时分秒)、日期(年月日)、日期+时间(年月日时分)以及倒计时...分割线视图 @property (nonatomic, strong) UIView *lineView; /** 初始化子视图 ,整体布局*/ - (void)initUI; //以下三种方法在基类中的实现都是空白的...,具体的效果在子类中重写 /** 点击背景遮罩图层事件 */ - (void)didTapBackgroundView:(UITapGestureRecognizer *)sender; /** 取消按钮的点击事件...{ 127 128 } 129 130 @end   在BaseView.m中主要是对整体框架进行布局,我们的控件的位置都是通过绝对位置进行布局的,所以需要修改的在话可以直接在对应的位置上进行修改...,然后在BaseView.h中的注释我们说过了,点击背景遮罩图层和取消、确定按钮的点击事件实现效果在基类中都是空白的,具体效果在子类中进行重写来控制。

    5.6K130

    iOS---iPad开发及iPad特有的特技

    iPad开发简单介绍 iPad开发最大的不同在于iPhone的就是屏幕控件的适配,以及横竖屏的旋转。 Storyboard中得SizeClass的横竖屏配置,也不支持iPad开发。...1.在控制器中得到设备的旋转方向 在 iOS8及以后,屏幕就只有旋转后屏幕尺寸之分,不再是过期的旋转方向。...:duration animations:^{ }]; } 2.iPad中Modal弹出控制器的方式和样式 Modal常见有4种呈现样式 控制器属性 modalPresentationStyle...的使用 案例: 情景① 在导航栏上添加leftBarButtonItem按钮,然后弹出UIPopoverController 创建UIPopoverController控制器的内容控制器添加到UIPopoverController...(默认控制器有多大就显示多大)(120, 44 * 3) UIPopoverController的方法popoverContentSize 内容控制器中设置的方法 self.preferredContentSize

    3.2K70

    【开源】慢速 UIPickerView 动画实现

    (比如带计步器功能的),比如用户今天走了 7000 步,那么你可能需要一个数字增长动画来让数字从 0 慢慢滚动到 7000。...选择 UIPickerView 是一种极为便捷的实现方法,但是实际上你没有办法在不使用私有API的情况下,改变 UIPickerView 的数字滚动速度,而它的默认速度极快。...在这个项目里我使用了一个有些 hack(你也可以说是鸡贼) 的方法,做出来 5 个 UIPickerView,前四个不显示,第五个显示。...让第 n 个 UIPickerView 以第 n-1 个 UIPickerView 滚动到的数字为目标进行滚动,这就好比你要坐电梯上10楼,你先设定一个5楼,然后到4楼的时候改主意了,取消5楼,设为8楼...,然后到了7楼又改成10楼……这当然要更耗时,所以5个(只要内存够大,你搞几个都一样)UIPickerView 一个比一个滚动地慢(这是数学问题,不是因为 UIPickerView 多了把手机搞卡了)。

    97620

    iOS开发之城市选择器

    城市选择器,借助于UIPickerView来实现,第一列为省份,第二列为第一列省份对应的城市或者区,数据放在plist中,plist结构如下图所示,第一层是一个Dictionary,每个省份对应的城市是一个...plist.png 实现步骤 第一步 拖入一个UIPickerView到StoryBoard中,然后设置UIPickerViewDelegate,和UIPickerViewDataSource为当前的控制器...*/ - (NSArray*)provinces { if (_provinces == nil) { //将省份保存到数组中 但是字典保存的是无序的 所以读出来的省份也是无序的...provinces中的第一个元素 self.selectedProvince = self.provinces[0]; } - (void)didReceiveMemoryWarning {...用户选择的省份 * @param component */ - (void)pickerView:(UIPickerView*)pickerView didSelectRow:(NSInteger

    2.5K80

    升级IOS8游戏上传自定义头像功能失效的问题

    > UIAlertController>> 跟踪代码后,发现它在调用UIPopoverController的presentPopoverFromRect方法后,直接就调用了popoverControllerDidDismissPopover...方法 通过搜索“ios8 ipad UIPopoverController ”找到了这个链接(UIPopoverController not presenting in iPad iOS 8),一看到stackoverflow.com...中午吃过饭,再看那个crash的地方 cocos2d-x中的CCDictionary.cpp  objectForKey方法的断点挂掉了 ?...当我准备放弃的时候,突然却想到新功能中主界面有一个功能上面有调用swf进行特效的显示,然后我看了一下它被隐藏了。那我想既然隐藏了,那就不要让它play嘛,结果试了一下,嗯,不崩溃了!...日志显示其实游戏已经启动了,都开始请求CDN上的资源了,只是界面还停留在重启那个界面,但崩溃的点却挂在了CCDictionary.cpp中。

    91220

    iOS开发 —— Swift版地址选择器

    已经有二十多天没有更新自己的博客了,这段时间经历了很多事情,离开了生活了六七年的杭州,从离职再入职,忙的是一塌糊涂。...所以从以后开始,我的iOS系列的文章会逐渐的与Swift语言越来越相关。不得不说只有实际开发才能发现Swift中等着我要去踩的坑还有很多。没辙了,爱他就拼命的去填坑吧。...刚入职的第一周写了个简单的页面来熟悉公司项目代码,并且了解下业务。做了一个电商方面相关的收货地址的选择。 今天就来讲讲Swift版本的地址选择器的构建。...首先把UIPickerView这个类的两个代理方法在自己的类里实现,以后调用的时候不用再去实现UIPickerView的两个Delegate Method,之后我们再提供一个协议,用最简单的方式来完成数据的获取...至于省市区的结构,我们用结构体来处理,将省市区写成两个Struct,再之后就是简单的数据处理了。将数据加载并且传入这个Struct中。

    2.1K20

    iOS·CityPickerView省市区选择器出现奔溃纪实:三栏联动的时数据源数组越界(Xcode奔溃调试技巧)

    iOS开发过程中,有时候一些第三方省市区位置选择器PickerView出现诡异bug:在快速同时分别滑动省、市、区各栏的时候,出现奔溃。这时候,你可以打个断点,查出问题所在。...这里记录修复这种bug的一种方案。首先看看出问题的源代码,然后指出问题所在,并给出修复方案。 1....问题代码 - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger...所以添加一个判断即可: if (array && array.count > 0) { ... } 还有,array[row]中的row超过数组元素个数怎么办?...拓展文献 刨根问底:OC 中如何判断 NSArray 为空 http://www.jianshu.com/p/ba11a53777e1

    1.7K40

    【IOS】IOS开发问题解决方法索引(四)

    使用 UIPopoverController的使用 http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393675.html UIPopoverController...在Build页中,找到GCC 4.2 - Preprocessing下面的Preprocessor Macros,双击,在弹出来的对话框中增加一个值,例如FREE_VERSION。确定。...,我发现在Target中的Code Signing Identity还是我之前的设的iPhone Distribution, 所以看到这里就知道了,iPhone Distribution 的provisioning...profile肯定是不能运行的,所以把Target中的Code Signing Identity也设置成iPhone Develop就ok了,这样一切都说的通了,唯一不合理的就是在Project切换Code...Signing Identity并编译,但xCode没有自动将编译后的Target设置成和Project中的一致。

    1.8K20
    领券