ipad显示了FromBarbuttonItem,但使用了UIButton

ipad显示了FromBarbuttonItem,但使用了UIButton,ipad,uibutton,Ipad,Uibutton,Popover函数“PresentFromBarButtonItem”使用UIBarButtonItem将Popover显示在相对于UIBarButton的一个好位置 有没有一种方法可以通过UIButton获得相同的结果行为?我可以想象还有更多的代码,但是有一种方法可以做到这一点,该按钮将非常有用。你的意思是presentpooverfromBarbuttonItem而不是PresentFromBarButtonItem 要从UIButton(或任何UIView)弹出,可以使用presentPo

Popover函数“PresentFromBarButtonItem”使用UIBarButtonItem将Popover显示在相对于UIBarButton的一个好位置


有没有一种方法可以通过UIButton获得相同的结果行为?我可以想象还有更多的代码,但是有一种方法可以做到这一点,该按钮将非常有用。

你的意思是
presentpooverfromBarbuttonItem
而不是
PresentFromBarButtonItem

要从UIButton(或任何UIView)弹出,可以使用
presentPopoverFromRect

//button is some UIButton...
[popoverController presentPopoverFromRect:button.bounds inView:button 
    permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

button.frame
not
button.bounds

如果按钮是另一个视图的子视图,则相对边界相对不正确。我需要补偿相对边界吗?rect参数相对于传递给inView参数的视图。您可以创建自己的CGRect值,而不是使用button.bounds,但它仍然与inView参数(按钮)相关。这对于答案来说有点简洁。想详细说明一下吗?