UIPicker 首先出现黑色

发布于 2024-09-17 08:59:02 字数 891 浏览 5 评论 0原文

我有以下代码来绘制自定义选择器。不幸的是,第一次绘制视图时是黑色的。只有当我触摸它时它才会出现。

我该如何解决这个问题?

UIView中的相关代码如下:

- (void)drawRect:(CGRect)rect 
{
    [self createPicker];
    [self addSubview:dPicker];
//[dPicker reloadComponent:1];
}

-(void) createPicker
{
    dPicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
    CGSize pickerSize = [dPicker sizeThatFits:CGSizeZero];
    dPicker.frame = [self pickerFrameWithSize:pickerSize];
    dPicker.delegate=self;
    dPicker.showsSelectionIndicator = YES;
    dPicker.hidden=NO;
}


- (CGRect)pickerFrameWithSize:(CGSize)size
{
    CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
    CGRect pickerRect = CGRectMake( 0.0,
                               screenRect.size.height - 44.0 - size.height,
                               size.width,
                               size.height);
    return pickerRect;
}

I have the following code to draw a custom picker. Unfortunately when the view is first drawn is black. Only when I touch it does it appear.

How can I fix this?

Here is the relevant code in the UIView:

- (void)drawRect:(CGRect)rect 
{
    [self createPicker];
    [self addSubview:dPicker];
//[dPicker reloadComponent:1];
}

-(void) createPicker
{
    dPicker = [[UIPickerView alloc] initWithFrame:CGRectZero];
    CGSize pickerSize = [dPicker sizeThatFits:CGSizeZero];
    dPicker.frame = [self pickerFrameWithSize:pickerSize];
    dPicker.delegate=self;
    dPicker.showsSelectionIndicator = YES;
    dPicker.hidden=NO;
}


- (CGRect)pickerFrameWithSize:(CGSize)size
{
    CGRect screenRect = [[UIScreen mainScreen] applicationFrame];
    CGRect pickerRect = CGRectMake( 0.0,
                               screenRect.size.height - 44.0 - size.height,
                               size.width,
                               size.height);
    return pickerRect;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瑾兮 2024-09-24 08:59:02

修好了。从 UIViewController 调用子视图而不是 UIView

Fixed it. Called the subview from UIViewController instead of the the UIView

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文