簡體   English   中英

無法查看更改其大小的視圖

[英]Can't get a view to change it's size

我在ForecastCell Class (對於UICollectionView )中有一個UIImageView ,無論如何,我無法在單元格內獲取UIImageView以更改其大小。 這是我嘗試過的:

private func setupWeatherIcon(){
    self.addSubview(mWeatherIcon)

   //mWeatherIcon.frame.size.width = CGFloat(self.frame.width) / 2
   //mWeatherIcon.frame.size.height = CGFloat(self.frame.height) / 2
   mWeatherIcon.frame.size.width = 20
   mWeatherIcon.frame.size.height = 20

   mWeatherIcon.centerXAnchor.constraint(equalTo: self.safeAreaLayoutGuide.centerXAnchor).isActive = true
   mWeatherIcon.centerYAnchor.constraint(equalTo: self.safeAreaLayoutGuide.centerYAnchor).isActive = true
}

這是 mWeatherIcon:

var mWeatherIcon: UIImageView = {
    let image = UIImageView(image: UIImage(named: "partly-cloudy"))

    image.translatesAutoresizingMaskIntoConstraints = false
    return image
}()

無論我設置什么寬度和高度,它始終保持相同的寬度和高度。

您需要寬度和高度限制

self.contentView.addSubview(mWeatherIcon)

NSLayoutConstraint.activate([
   mWeatherIcon.centerXAnchor.constraint(equalTo:contentView.centerXAnchor),
   mWeatherIcon.centerYAnchor.constraint(equalTo:contentView.centerYAnchor),
   mWeatherIcon.widthAnchor.constraint(equalTo:contentView.widthAnchor,multiplier:0.5),
   mWeatherIcon.heightAnchor.constraint(equalTo:contentView.heightAnchor,multiplier:0.5)
])

不要忘記實現這個方法

func collectionView(_ collectionView: UICollectionView, 
                  layout collectionViewLayout: UICollectionViewLayout, 
           sizeForItemAt indexPath: IndexPath) -> CGSize

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM