【发布时间】:2011-09-04 10:04:40
【问题描述】:
我试图在单击 UIButton 时呈现 UIPopoverController。这是我的代码:
- (IBAction)showColumnChooser:(id)sender {
ColumnChooserTVC *vc = [[ColumnChooserTVC alloc] init];
[vc setSelections:allColumns];
[vc setDelegate:self];
UIPopoverController *pc = [[UIPopoverController alloc] initWithContentViewController:vc];
[pc presentPopoverFromRect:[sender frame] inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
[vc release];
}
箭头方向为“Any”时,它完全遮住了按钮,如下所示:
如果我将方向设为“右”,会好一些,但弹出框和按钮之间仍有一些空间,而且看起来不正确。 我不想做一些“技巧”或“黑客”并在试错的基础上使用 CGRect,我想知道这样做的正确方法是什么?谢谢。
这是 Neckto 要求的界面生成器中的按钮:
【问题讨论】:
-
对不起,我不明白你在问什么。请您提供更多详细信息。你想让弹出箭头指向另一个地方吗?
-
好吧,我希望箭头直接指向按钮。在这种情况下,您是否看到“条形/线条”图标?那就是我希望弹出箭头指向的内容。在第一个示例中,它完全遮挡了图标/按钮,在第二个示例中,它稍微好一点,但它并不指向按钮,而是向上和向左一点。希望现在干净利落。谢谢。
-
那么问题出在
[sender frame]。它太大了,可能。你如何创建那个按钮? -
来自界面生成器。我只是将它连接到 IBAction
-
在IB中选择那个按钮,截图给我们看。我想看看这个按钮的框架
标签: objective-c ios cocoa-touch uipopovercontroller