2016-11-24 5 views
1

最近PaintCode 2をPaintCode 3に切り替えると、xCode/Swiftと一緒に使用しています。PaintCode 2と3はresizableImageWithCapInsetsのため互換性がありません

ただし、私のすべての画像生成関数は異なる動作をしないことに気付きました。標準のaddopt cap insetsに継ぎ目があります。

以下の例では、1つのキャンバス「ViewMissingImage」とその設定がPaintCode(2または3が同一)でどのように設定されているかを確認できます。

enter image description here

コードはコードは、私は多分それはバグだった、PaintCode 2は、CAPPのインセットを使ったことがないと思いますPaintCode 3を介して

public dynamic class func imageOfViewMissingImage(imageSize imageSize: CGSize = CGSize(width: 109, height: 109)) -> UIImage { 
    UIGraphicsBeginImageContextWithOptions(imageSize, false, 0) 
     PaintCode.drawViewMissingImage(frame: CGRect(x: 0, y: 0, width: imageSize.width, height: imageSize.height)) 

    let imageOfViewMissingImage = UIGraphicsGetImageFromCurrentImageContext()!.resizableImageWithCapInsets(UIEdgeInsetsZero, resizingMode: .Tile) 
    UIGraphicsEndImageContext() 

    return imageOfViewMissingImage 
} 

を生成PaintCode 2

public class func imageOfViewMissingImage(frame frame: CGRect = CGRect(x: 6, y: 5, width: 109, height: 109)) -> UIImage { 
    UIGraphicsBeginImageContextWithOptions(frame.size, false, 0) 
     PaintCode.drawViewMissingImage(frame: CGRect(x: 0, y: 0, width: frame.size.width, height: frame.size.height)) 

    let imageOfViewMissingImage = UIGraphicsGetImageFromCurrentImageContext() 
    UIGraphicsEndImageContext() 

    return imageOfViewMissingImage 
} 

を介して生成? 私はこれらのキャップインセットを望んでいません、どうすればそれらを取り除くことができますか?

答えて

1

ソリューションは簡単です:

PaintCode UIにおける「ストレッチ」の代わりに、タイルの上にキャップインセットを入れて!

関連する問題