2017-07-16 75 views
0

我有一個帶有背景圖片的按鈕,我用SDWebImage下載。我想保持高度不變,並通過保持高寬比而不是剪切圖像來改變寬度。恆定的高度和動態的寬度。這裏有什麼問題?SDWebImage按鈕背景圖片調整大小

//CODE FROM FUNCTION --- 
button.sd_setBackgroundImage(with: url, for: .normal, placeholderImage: UIImage(named: "img"),options: SDWebImageOptions(rawValue: 0), completed: { (image, error, cacheType, imageURL) in 
     let view = UIView(frame: CGRect(x: 0, y: 0, width: self.resizeImage(image: image!, newHeight: 100), height: 100)) 
     button.frame = view.frame 
    }) 
view.addSubview(button) 
return view 

這是我的助手功能

func resizeImage(image: UIImage, newHeight: CGFloat) -> CGFloat { 

    let scale = newHeight/image.size.height 
    let newWidth = image.size.width * scale 
    return newWidth 
} 
+0

你看到的輸出是什麼,添加屏幕截圖? –

+0

它現在給我一個錯誤,所以即時通訊完全在這裏錯誤的路徑 '原因:'層是其層樹中的週期的一部分' – Kenny

回答

0

您可以創建IBOutlet中NSLayoutConstraint的按鍵寬度和在運行時給了按鈕的寬度恆定值按照圖像寬度(下載圖片後)。

+0

我試着像你說的那樣。現在我想我有兩個相同類型的約束,並刪除了新的約束。我怎樣才能取代我的寬度約束與新的? – Kenny