Я боролся с этим некоторое время и надеялся, что кто-нибудь может пролить свет на то, почему это не работает.
Я просто пытаюсь реализовать Popover в TableViewCell. Вот код..
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];
}
Некоторое время ничего не появлялось. Я мог сказать, что что-то происходит, потому что само окно теряло фокус, как если бы всплывающее окно было там.
Иногда я вижу очень маленькое пятнышко, похожее на маленький прямоугольник 2 на 2 пикселя. Это плохо видно, выглядит как битый пиксель на экране, но иногда появляется, когда я запускаю этот код.
TUIPopover взят из Twitter UIKit Framework.
Некоторые возможности...
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 и не виден
У кого-нибудь есть мысли?