Difference between UIViewContentModeScaleAspectFit and UIViewContentModeScaleToFill?
If you are talking about UIViewContentMode, the following is from the Doc.
UIViewContentModeScaleToFill
Scales the content to fit the size of itself by changing the aspect ratio of the content if necessary.
UIViewContentModeScaleAspectFit
Scales the content to fit the size of the view by maintaining the aspect ratio. Any remaining area of the view’s bounds is transparent.
UIViewContentModeScaleAspectFill
Scales the content to fill the size of the view. Some portion of the content may be clipped to fill the view’s bounds.
iOS SDK UIViewContentModeScaleAspectFit vs. UIViewContentModeScaleAspectFill
The reason you don't see a difference between those modes is that the UITableViewCell
automatically sizes its image view to fit the aspect ratio of the image. The content modes only come into play when the view's aspect ratio is different from the image's.
Either override layoutSubviews
in your custom UITableViewCell
class or create an image view yourself (don't use the one that the table view cell provides).
UIViewContentModeScaleAspectFit with margin
Either set the border width on the image view or add the image view as a subview of another view but with an inset frame.
Why scale to fill give bigger image than UIImageVIew size? (using swift)
With content mode set to Aspect Fill
, try setting clips to bounds to true as well, reason being the content mode aspect fill
keeps on filling the frame of the image view till the frame is fully filled with content also keeping the aspect ratio
intact. In the process of filling the container with image maintaining aspect ratio, either vertical or horizontal frame is fully filled, and the filling is continued till the other (if horizontal than vertical or vise versa) portion is fully filled. Thus the first filled portion either across vertical or horizontal will go out of bounds and the content will be visible outside the frame of the image view. To clip the extra content we need to clip the extra portion using imageView's clipsToBounds
property set to true
cell.photo.contentMode = UIViewContentMode.ScaleAspectFill
cell.photo.clipsToBounds = true
Cropping or centering image in Swift
you should set imageview's contentmode to UIViewContentMode.ScaleAspectFill
and you should set propert clipsToBounds
of imageview to true
.
by this you will not get that gray space and image will fit in entire imageview.!!
Related Topics
String Replacement in Objective-C
A Swift Example of Custom Views For Data Input (Custom In-App Keyboard)
How to Detect the End of Loading of Uitableview
Nsurlconnection and Basic Http Authentication in Ios
Customize Uitableview Header Section
How to Set Uiview Border Properties from Interface Builder
Reading Nfc Tags with iPhone 6/iOS 8
Converting Hex String to Nsdata in Swift
Layout Issues After Updating to Xcode 8
Enumerate All Keychain Items in My iOS Application
Reloaddata() of Uitableview With Dynamic Cell Heights Causes Jumpy Scrolling
Dealing With Different iOS Device Resolutions in Spritekit
How to Receive Nsnotifications from Uiwebview Embedded Youtube Video Playback
How to Add Image and Text in Uitextview in Ios
Download and Install an Ipa from Self Hosted Url on Ios
How Would I Tint an Image Programmatically on Ios