gpt4 book ai didi

iphone - 自定义 UIPickerView 上方的 UIToolbar 未接收触摸

转载 作者:行者123 更新时间:2023-11-29 04:44:50 25 4
gpt4 key购买 nike

我已经对 UIPickerView 进行了子类化,以添加一些更多的功能(我 99% 确定它与这个问题无关)。在 drawRect 中,我添加了一个工具栏,以便更容易地关闭工具栏,问题是,UIToolbar 或工具栏中的 UIBarButtonItem 都不会接收触摸。几乎就好像 View 是“不可见的”,因为触摸被转发到其后面的 View (UITableView)。我知道我可以制作一个“控制” View 来容纳选择器和工具栏。但我只是想知道是否有任何方法可以在不创建另一个 View 的情况下做到这一点?

这是我的绘制矩形代码:

- (void)drawRect:(CGRect)rect
{

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

pickerToolbar = [[UIToolbar alloc] initWithFrame: CGRectMake(0, 0, self.frame.size.width, 40)];


UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem: UIBarButtonSystemItemDone target: self.delegate action: closeAction];

[pickerToolbar setItems: [NSArray arrayWithObject: closeButton]];

[self addSubview: pickerToolbar];
}
}

这是一张照片:

My custom UIPicker

最佳答案

永远,永远不要这样做。每次绘制选择器时,您都会添加一个新的 subview !

如果您的选择器 View 是文本字段的输入 View ,只需创建一个工具栏并将其添加为输入附件 View 即可。然后它将出现在选择器上方。这是实现此行为的标准方法。

关于iphone - 自定义 UIPickerView 上方的 UIToolbar 未接收触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9799475/

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