菜鸟教程小白 发表于 2022-12-12 12:31:44

ios - UIImage PNG 不透明度调整


                                            <p><p>我使用具有透明度的 .png 图像创建了一个自定义按钮。但是,当我将它实现为 UIImage 时,透明度会丢失。这是我正在使用的代码:</p>

<pre><code>- (void)setMyCustomBackButton;
{
    UIImage *backButtonImage = ;
    UIButton *backButton = ;
    ;
    ;
    backButton.frame = CGRectMake(0, 0, backButtonImage.size.width, backButtonImage.size.height);


    UIView *backButtonView = [ initWithFrame:CGRectMake(0, 0, 63, 33)];
    backButtonView.bounds = CGRectOffset(backButtonView.bounds, -12, -2);
    ;
    UIBarButtonItem *finalBackButton = [ initWithCustomView:backButtonView];
    self.navigationItem.leftBarButtonItem = finalBackButton;
}
</code></pre>

<p>是否有用于透明度的 UIImage 属性?是否与不透明度有关?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>如果您在图像编辑软件中创建 PNG,请确保在创建图像时已对透明度进行编码。有时,当您将某些内容导出为 PNG 时,某些图像编辑器会提供默认未选中的“保存透明度”选项。</p>

<p>除此之外,PNG 上的任何透明度都将显示在 <code>UIButtonTypeCustom</code> 上。你不需要做任何特别的事情来保持加载 PNG 的 <code>UIImage</code> 的透明度。</p>

<p>在您使用代码中的图像之前,请在预览中打开它以确保存在透明度。</p>

<p>哦,回答你的另一个问题,<a href="http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIImage_Class/" rel="noreferrer noopener nofollow">UIImage does not have any properties relating to transparency</a> .您拥有的最接近的东西是 <code>UIView</code> 的 <code>alpha</code> 属性,但即使这样也只会改变 <code>UIView</code> 的整体不透明度。</p>

<p><strong>编辑</strong>:我第一次阅读你的问题时错过了这个。试试:</p>

<pre><code>UIBarButtonItem *finalBackButton = [ initWithCustomView:backButton];
</code></pre>

<p>不需要有backButtonView。您可以将 UIButton 作为自定义 View 传入。我用它来创建自定义栏按钮项目。这应该可以解决您的问题。</p>

<p><strong>EDIT 2</strong>:<code>UIBarButtonItem</code> 类没有可以设置的 alpha 属性。此外,修改您设置为 <code>UIBarButtonItem</code> 的自定义 View 的 <code>UIButton</code> 的 alpha 属性不会影响 <code>UIBarButtonItem</code> 的透明度。 </p>

<p>您可以这样做的唯一方法是修改用于 <code>UIButton</code> 的源图像的透明度。</p>

<p>修改您的原始 PNG 以获得所需的透明度(根据您的评论,您需要非常低的透明度)。在导出 PNG 之前,使用图像编辑软件/预览来微调透明度。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - UIImage PNG 不透明度调整,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/17605416/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/17605416/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - UIImage PNG 不透明度调整