2017-12-31 312 views
0

私は自分のアプリのための "フォトギャラリー"を構築しています。ユーザーが画像をタップすると、青い枠線が表示されます(選択されていることを示す)。私はコンテンツモード.scaleAspectFitを使用しているので、画像はほとんど完全な画像ビューを占めることはありません。その結果、thisになります。私は境界線が画像自体のまわりでthis(赤い枠線)のようにしたいと思っています。どうすればこれを達成できますか?イメージビューではなくイメージに境界線を追加するにはどうすればよいですか?

マイコード...

imageView.image = images[index] 
imageView.contentMode = .scaleAspectFit 
imageView.layer.borderColor = UIColor.blue.cgColor 
imageView.layer.borderWidth = 5 
imageView.clipsToBounds = true 

答えて

0

は[同じアスペクト比であることが全ての画像を作成することによって】画像の態様に等しいImageViewのアスペクト比を行い、ImageViewの画面幅マイナス境界線の幅を与えます

0

この効果は、UIImageViewの機能では実現できません。あなたは何かをカスタマイズする必要があり、あなたが望む効果を達成するためのアプローチがたくさんあります。

1つの簡単な解決策は、それを自分でスケーリングすることです。アスペクトフィッティングは計算が非常に簡単です。 Here is an example I found

スケーリングされたイメージサイズを計算したら、UIViewViewのフレームをそのサイズに設定します。これであなたの画像はUIImageViewの100%を占め、ボーダーは正しく整列します!

関連する問題