私はminTargetとしてIOS 5.0に取り組んでいます
サイズ変更可能な画像を割り当てたい UIImageView があるので、画像が隅から伸びないようにします。
UIImageView のコンテンツ モードを UIViewContentModeScaleToFill に設定しようとしました。ただし、画像はタイル状に表示されます。
ここにコードがあります
UIImage *bgImage = [[UIImage imageNamed:@"ImgViewBg"] resizableImageWithCapInsets:UIEdgeInsetsMake(2, 2, 2, 2)];
imgView.contentMode = UIViewContentModeScaleToFill;
imgView.image = bgImage;
Androidの9パッチ画像と同じ効果を探しています
これが私が試している画像です
resizeableImageWithCapInsets のドキュメントをもう一度見てみました。それは、キャップの下にない領域をタイル化すると言います。タイル模様の原因は何だと思います。9Patch スタイルのイメージを使用できるようにするための回避策はありますか??
編集
Apple Docs によると、
IOS 5.0 までは次のように動作します。
[[UIImage imageNamed:@"textViewBg"] stretchableImageWithLeftCapWidth:6 topCapHeight:6]; (ディペン・パンチャサラが述べたように)
IOS6.0 以降では、私の要件で動作します。
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode
IOS 5.0 以降 (必要)
- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets
上記の関数は、キャップの下にない画像をタイル表示するため、私の場合は機能しません。
そのため、IOS 5.0 から IOS 6.0 の場合、要件を解決するものを見つけることができませんでした。
今のところ、Dipen Panchasara ソリューションの使用に移行しています。安定していることを願っています。