我已经为此苦苦挣扎了一段时间,并希望任何人都可以阐明为什么这不起作用。
我只是尝试在 TableViewCell 上实现 Popover。这是代码..
TodoView.m
- (void)tableView:(TUITableView *)tableView didClickRowAtIndexPath:(TUIFastIndexPath *)indexPath withEvent:(NSEvent *)event {
// MyViewController is a TUIViewController with a nib called MyView with just a button in it
MyViewController *t = [[MyViewController alloc] initWithNibName:@"MyView" bundle:nil];
TUIView *theView = [[TUIView alloc] initWithFrame:NSMakeRect(0, 0, 300, 300)];
TUIPopover *myPopover = [[TUIPopover alloc] initWithContentViewController:t];
[myPopover showRelativeToRect:NSMakeRect(0, 0, 300, 300) ofView:theView preferredEdge:NSMaxYEdge];
}
有一段时间,什么都不会出现。我可以说发生了一些事情,因为窗口本身会失去焦点,就好像 Popover在那里一样。
有时我会看到一个非常小的光点——比如一个 2px x 2px 的小矩形。很难看到它,看起来像屏幕上的坏点,但有时在我运行此代码时会出现。
TUIPopover 来自Twitter UIKit 框架。
一些可能性...
1) 在 CGFillRect 上看不到弹出框?
TodoTableViewCell.m
- (void)drawRect:(CGRect)rect
{
CGRect b = self.bounds;
CGContextRef ctx = TUIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(ctx, 247.0/255, 247.0/255, 247.0/255, 1);
CGContextFillRect(ctx, b);
}
2) 弹出框不适合 TableViewCell 并且看不到
有人有什么想法吗?