Objective c 当前PopOverfromRect中的宽度和高度?

Objective c 当前PopOverfromRect中的宽度和高度?,objective-c,ipad,ios4,uipopovercontroller,Objective C,Ipad,Ios4,Uipopovercontroller,在presentPopoverFromRect:inView:PermittedRowDirections:animated:

presentPopoverFromRect:inView:PermittedRowDirections:animated:
的方法中,对于“
presentPopoverFromRect
”,我所理解的是“
x
”和“
y
”它将锚定在哪里,但“
宽度”和“
高度”参数将做什么


我通过设置不同的值来处理它们,结果非常混乱。

UIPopoverController
对象上调用
setPopoverContentSize:animated:
方法,这将设置popover的高度和宽度


UIPopoverController的位置由
presentPopoverFromRect:inView:PermittedRowDirections:animated:
方法控制。

这很混乱,苹果的文档也没有让它更清楚:

奥特让你走上了正确的方向。。。PresentPoverFromRect使用CGRect对象作为其锚点。通过阅读这里的其他帖子,我了解到,该矩形的中心被用作UIPopoverController的锚定位置,而不是它的x,y坐标。尽管如此,我不确定这是否会根据许可方向而变化(我使用零表示)。所有的苹果文档都说是“视图中的矩形,用于定位弹出窗口。”

为了使它的操作几乎像点坐标一样,我一直在使用width=1和height=1作为锚点矩形的大小


希望有帮助

锚点指向一个矩形,而不是一个点。Tho您可以为宽度和高度指定0。不,您不能指定0,或者您会收到警告,因为传入此方法的rect必须具有非零的宽度和高度。这将是未来版本中的一个例外,但您可以指定FLT_MIN。感谢您的回复。我想知道当你可以在“setPopoverContentSize:animated”中设置popover的高度和宽度时,你是否可以告诉我在“presentPopoverFromRect”中“宽度”和“高度”在做什么:“我真的不确定这些控件是做什么的。我用它们做过实验,但在模拟器或iPad上构建和运行应用程序时,没有看到任何变化。如果答案有帮助,请单击绿色复选标记表示我已回答!谢谢。对于视图中居中的小矩形,您可以使用
CGRectMake(CGRectGetMidX(self.view.bounds)-1.f,CGRectGetMidY(self.view.bounds)-1.f,2.f,2.f)self.view.bounds