簡體   English   中英

圖像不適合UIImageView

[英]image doesn't fit in UIImageView

我是iOS開發的初學者,但遇到以下問題。

在.xib文件中,我具有按鈕和imageview,如下圖所示。

在此處輸入圖片說明

現在,我執行以下操作以在圖像視圖中顯示圖像並在.m文件中設置內容模式。

UIImage *save = UIGraphicsGetImageFromCurrentImageContext();
self.ivCard.image = save;
self.ivCard.contentMode = UIViewContentModeScaleAspectFit;
self.ivCard.clipsToBounds = YES;

現在,結果如下圖所示。

在此處輸入圖片說明

原始圖像的分辨率為2000x1000,在這里

在此處輸入圖片說明

圖像會自動從右側裁剪,應適合圖像視圖。

可以肯定的是,您沒有向ImageView添加約束,因為ImageView的大小與設備的大小不同。

將約束從ImageView添加到Interface Builder的邊框中,它將起作用。

檢查: https : //developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraints/WorkingwithConstraints.html

有兩種方法可以實現它。

  1. 您可以從.xib文件中或從語法上如下所示去約束並向圖像視圖添加約束,如下所示:

    //左右對齊ivCard

      [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]]; 

    //從頂部和底部對齊ivCard

     [self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[ivCard]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(ivCard)]]; 
  2. 您可以使用以下代碼直接為圖像視圖設置框架:

     CGFloat btnHeight = 20; // Your back button height from xib self.ivCard.frame = CGRectMake(0, btnHeight, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height - btnHeight); 

暫無
暫無

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

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