gpt4 book ai didi

iphone - colorWithPatternImage 和 setCornerRadius 问题

转载 作者:行者123 更新时间:2023-12-03 20:29:10 26 4
gpt4 key购买 nike

您好,我想同时实现圆角和由平铺一个小 png 组成的背景(OPERATOR_VIEW_BACKGROUND_IMAGE)。我的主要目标是允许设计人员通过在项目资源中插入正确的图像来填充 View 的背景。

[triggerView setFrame:CGRectMake(0, 0, ICONS_WIDTH, iconFrameHeight)];
[triggerView.layer setCornerRadius:borderRadius];
[triggerView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:OPERATOR_VIEW_BACKGROUND_IMAGE]]];;

我不知道为什么,但当我添加最后一行时,triggerView 松开了 CornerRadius 设置。triggerView 是一个使用界面生成器构建的 UIView,并通过上面的代码以编程方式在其 superView viewDidLoad 中进行修改。

我哪里错了?

编辑:我没有提到如果我使用简单的UIColor,例如:[UIColor OrangeColor]它效果很好。所以它与 patternImage 相关。

编辑:我也尝试过这段代码,在我的 View 的图层背景上工作:

[triggerView setFrame:CGRectMake(0, 0, ICONS_WIDTH, iconFrameHeight)];
triggerView.backgroundColor = [UIColor clearColor];
UIImage *img = [UIImage imageNamed:OPERATOR_VIEW_BACKGROUND_IMAGE];
triggerView.layer.backgroundColor = [UIColor colorWithPatternImage:img].CGColor;
triggerView.layer.cornerRadius = radius;
[img release];
[self.view addSubview:triggerView];

现在我得到了透明背景,但角是圆角的;

最佳答案

好的,感谢 Ben 的评论和这个 Blog entry我找到了这个解决方案:

 [triggerView setFrame:CGRectMake(0, 0, ICONS_WIDTH, iconFrameHeight)];
triggerView.layer.masksToBounds = YES;
triggerView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:OPERATOR_VIEW_BACKGROUND_IMAGE]];
triggerView.layer.cornerRadius = radius;
[self.view addSubview:triggerView];

似乎triggerView.layer.masksToBounds = YES;是缺失的部分,但我仍然不明白为什么triggerView.layer.cornerRadius = radius;单独没有还不够。

关于iphone - colorWithPatternImage 和 setCornerRadius 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3892500/

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