我似乎在使用NSTextAttachment
中的NSAttributedString
图片更改透明度时出现问题。
我有一个字符串,我想淡入淡出,但似乎附加到字符串的图像不会随文本淡出。
我尝试将NSBackgroundColorAttributeName
和NSForegroundColorAttributeName
属性设置为所需的alpha,但这不起作用。
我也没有看到NSTextAttachment
的alpha或opacity属性,所以我看到的唯一选项是附加一个带有更正alpha的新UIImage
,但这种方法将是最后一个采取。
我希望有人能有一种改变alpha的方法而不必我这样做。
Objective-C或Swift代码都适用于我。
答案 0 :(得分:0)
截至目前,我正在做的事情是:
import Foundation
import UIKit
import CoreGraphics
extension UIImage
{
/// copyWithAlpha: Creates a copy of a UIImage with the new alpha
/// - Parameter alpha: Alpha value to set new image to. Between (0.0 - 1.0)
/// - Returns: UIImage
///```swift
/// let copyImage = originalImage.copyWithAlpha(1.0)
func copyWithAlpha(alpha:CGFloat) -> UIImage
{
UIGraphicsBeginImageContextWithOptions(self.size, false, self.scale);
drawAtPoint(CGPointZero,blendMode:.Normal, alpha:alpha);
let alphaImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return alphaImage;
}
}
此方法对任何人都可以免费使用。但是,我对这种方法不满意,因为它要求我保留原始UIImage
的副本,并且每次都将alpha应用于原始版本,我无法继续将其重新应用于{{1}返回。