UIButton只有背景稍微透明

发布于 2024-09-14 06:50:49 字数 124 浏览 3 评论 0原文

是否可以只使背景半透明?如果我改变阿尔法它会改变标题和边框。我可以更改 titleLabel.alpha 属性,但它不会超出按钮 Alpha 的上方,只会位于其下方。

我知道我可以定制一个,但我认为会有一种更简单的方法

Is it possible to make just the background semi transparent? If I change the alpha it changes the title and the boarder. I can change the titleLabel.alpha property but it won't go above the buttons Alpha, only below it.

I know I can make a custom one but thought there would be an easier way

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

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

发布评论

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

评论(1

绝影如岚 2024-09-21 06:50:49

用这样的东西渲染一个空白按钮:

UIGraphicsBeginImageContextWithOptions(size,0,0);
[button.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

从那里,将 Alpha 减半并不难(在拉出图像之前,在“DestOver”混合模式下用 50% 的不透明矩形填充它?)。然后将其设置为自定义按钮的背景。

恶心。那好吧。

或者,您可以直接修改视图层次结构中的视图;不推荐,因为它往往会跨操作系统版本。

Render a blank button with something like this:

UIGraphicsBeginImageContextWithOptions(size,0,0);
[button.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

From there, it's not hard to halve the alpha (fill it with a 50% opaque rect in "DestOver" blend mode before pulling the image out?). Then set it as the background for a custom button.

Icky. Oh well.

Alternatively, you can modify the view in the view hierarchy directly; not recommended, since it tends to break across OS releases.

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