//PopUpContentViewController 是自定义的需要弹出popover的viewcontrller,弹出框里面显示的内容就是这个
PopUpContentViewController
*popContentViewControl = [[
PopUpContentViewController
alloc
]
init
];
// Setup the popover for use in the detail view. popOverMenu 是我之前声明的UIPopoverController对象
//必须要用之前创建的弹出框内容viewcontroller来初始化popover
popOverMenu
= [[
UIPopoverController
alloc
]
initWithContentViewController
:popContentViewControl];
//4.x的私有方法
[
popOverMenu
setValue
:[
NSNumber
numberWithInt
:
2
]
forKey
:
@"popoverBackgroundStyle"
];
//
对应的值有
0-
黑色
, 1-
白色
, 2-
奶白色
,
//
还可以使用下面公有方法修改
UIPopoverController
里面导航部分的背景颜色
//[[[popOverMenu contentViewController] view] setBackgroundColor:[UIColor orangeColor]];
//UIPopoverArrowDirectionDown表示箭头方向,down表示向下
popOverMenu
.
popoverContentSize
=
CGSizeMake
(
500
,
30
);
[
popOverMenu
presentPopoverFromRect
:
CGRectMake
(
620
, y,
100
,
10
)
inView
:
self
.
view
permittedArrowDirections
:
UIPopoverArrowDirectionDown
animated
:
YES
];
popover
弹出后,点击外面的区域默认会让
popover
消失
最近一个项目有这样地需求,因为弹出的
popover
上有取消和确定按钮,所以客户要求点击
popover
外区域让
popover
不消失。我查了下资料,发现了setPassthrough
View
s这个
方法
,但是这个
方法
的原理是设置当UI
Popover
Controller显示出来时,哪些控件可以继续跟用户进行正常交互,这样一来,点击区域外
@Override
public void onClick(
View
v) {
LayoutInflater from = LayoutInflater.from(getActivity());
LinearLayout content
View
= (LinearLayout) from.inflate(R.layout.activity_calen
UIKIT_EXTERN API_DEPRECATED("UI
Popover
Controller is deprecated.
Popover
s are now implemented as UI
View
Controller presentations. Use a modal presentation style of UIModalPresentationPo
今天主要来记录一下
popover
的
使用
主视图里添加进两个将
view
变成navigation controller 随后拖入bar button item 和 label
随后在创建一个
view
继承自 uitable
view
controller 在cocoa touch类中 名为popTable
View
Controller
以下便是具体的代码 解释也在其中,回调
方法
是在点击一
先看他的继承关系,UI
Popover
Controller是直接继承自NSObject,它和UI
View
Controller没有关系.那它是怎么实现弹出在所有
View
之上的,我猜测是利用了keywindow,把这个
View
加在keywindow里面,我做了个试验,一般我们会在AppDelegate的didFinishLaunchingWithOptions中来初始化我们的window,把应用的第一个