0xS*_*ina 12 cocoa-touch objective-c uipopovercontroller ios
我想在单击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];
}
Run Code Online (Sandbox Code Playgroud)
箭头方向为"任意",它完全遮盖了按钮,这是它的样子:

如果我的方向是"正确的",它会好一点,但仍然有一些弹出窗口和按钮之间的空间,它似乎不对.
我不想做一些"技巧"或"黑客"并在试验/错误的基础上使用CGRect,我想知道这样做的正确方法是什么?谢谢.
这是Neckto要求的界面构建器中的按钮:

Mat*_*ats 50
我认为你正在混合坐标系.在你的视图中的每个级别 - hiearchy,原点都被移动了.因此[sender frame]in 的位置self.view不是按钮所在的位置.
尝试:
[pc presentPopoverFromRect:[sender bounds]
inView:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19566 次 |
| 最近记录: |