2017-07-20 9 views
0

ロゴのサイズが58312 x 1478 pxです。私はalamofireイメージを使用してサイズを縮小しています。次に、以下のように、ビュー(self.view)内で水平方向と垂直方向の中心になるように設定します。ビジュアルフローレイアウト(VFL)。 以下の制約では、ロゴは中央に配置されていません。サイズが動的に縮小されたイメージに制約を設定します。 Swift

let viewWidth = self.view.bounds.width 
let viewHeight = self.view.bounds.height 


let logoView    = UIImageView() 
logoView.translatesAutoresizingMaskIntoConstraints = false 

let logo      = UIImage(named: "logo") 
let logoSize     = CGSize(width: 200.0, height: 100.0) 
let aspectScaledToFitImage  = logo.af_imageAspectScaled(toFit: logoSize) 

logoView.image     = aspectScaledToFitImage 
self.view.addSubview(logoView) 

let logoHeight   = logoView.frame.size.height 
let logoWidth   = logoView.frame.size.width 

let logoViewTopSpacing  = (viewHeight/2) + (logoHeight/2) 
let logoViewSideSpacing = (viewWidth/2) + (logoWidth/2) 


let views = [ 
    "logoView"  : logoView 
] 

// SETTING CONSTRAINTS 
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-\(logoViewSideSpacing)-[logoView]", options: [], metrics: nil, views: views)) 
view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-\(logoViewTopSpacing)-[logoView]", options: [], metrics: nil, views: views)) 

答えて

0

私は

let logoHeight   = logoView.frame.size.height 
let logoWidth   = logoView.frame.size.width 

let logoViewTopSpacing  = (viewHeight/2) + (logoHeight/2) 
let logoViewSideSpacing = (viewWidth/2) + (logoWidth/2) 

let imageWidth   = aspectScaledToFitImage.size.width 
let imageHeight   = aspectScaledToFitImage.size.height 


let logoViewTopSpacing  = (viewHeight/2) - (imageHeight/2) 
let logoViewSideSpacing = (viewWidth/2) - (imageWidth/2) 

の下に置き換えることにより、

ビュー

内のロゴを中心とする問題を解決することを考え出しました
関連する問題