gpt4 book ai didi

objective-c - 将 Popover 添加到 UITableViewCell

转载 作者:行者123 更新时间:2023-12-03 17:54:06 24 4
gpt4 key购买 nike

我已经为此苦苦挣扎了一段时间,希望有人能够解释为什么这不起作用。

我只是尝试在 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];
}

有一段时间,什么也没有出现。不过,我可以看出发生了一些事情,因为窗口本身会失去焦点,就像弹出窗口在那里一样。

有时我会看到一个非常小的光点——就像一个 2 像素 x 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,因此无法看到

大家有什么想法吗?

最佳答案

非常简单的答案:

我忘记设置弹出窗口的内容大小!

因此,对于其他想知道为什么弹出窗口不起作用的人,请确保设置内容大小!

TUIPopover *p = [[TUIPopover alloc] initWithContentViewController:commentsViewController];
[p setAnimates:TRUE];
[p setContentSize:CGSizeMake(300, 350)];
[p setBehaviour:TUIPopoverViewControllerBehaviourTransient];
[p showRelativeToRect:b.bounds ofView:b preferredEdge:CGRectMinYEdge];

关于objective-c - 将 Popover 添加到 UITableViewCell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16390931/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com