以uipopover为中心的iPad

pit*_*met 13 ipad uipopovercontroller

我想为iPad创建一个新的键盘.

我设计了一个视图,其中包含键和所有底层工作,当用户按下键时填充文本框,并在用户按下返回按钮时将值传递回调用例程.

一切正常.

现在 - 我想将此视图创建为弹出窗口.

我完成了基本操作(弹出并被解雇)

但现在我需要一些微调帮助.

这是我的问题......

1)如何在没有UIPopoverArrowDirectionAny选择的情况下创建以屏幕为中心的弹出窗口?

2)确保弹出窗口是我在XIB文件中创建它的大小(当前,它调整大小并删除一些最右边的窗口大小)

感谢
托尼

Geo*_*rge 57

要显示没有箭头,请为"allowedArrowDirections"传递0:

[popOverController presentPopoverFromRect:rect inView:view permittedArrowDirections:0 animated:YES];
Run Code Online (Sandbox Code Playgroud)

要使其居中,请传递位于视图中心的1x1矩形:

CGRect rect = CGRectMake(viewWidth/2, viewHeight/2, 1, 1);
[popOverController presentPopoverFromRect:rect inView:view permittedArrowDirections:0 animated:YES];
Run Code Online (Sandbox Code Playgroud)

然后你有一个居中且无箭头的弹出窗口.

关于移除箭头的一点可能随时中断.由于某种原因,他们没有提供UIPopoverArrowDirectionNone选项,他们可能会选择在将来传递0时抛出异常,或者默认为某种情况.需要您自担风险使用它.

  • 对于横向模式下的iPad,我必须切换CGRectMake的宽度和高度才能使事物正确居中. (2认同)