Dactyloidae/mobile/ios/ThirdParty/UIImageViewAligned/README.md

41 lines
1.8 KiB
Markdown
Raw Normal View History

2026-06-26 21:04:09 -07:00
What is it?
===========
It is a subclass of `UIImageView` that allows you to customize the alignment of the displayed image inside the view's frame.
This works even if the `contentMode` is set to `AspectFit`, `AspectFill` or `ScaleToFill`.
Why a subclass of UIImageView, and not a standard UIView?
=========================================================
Because there are many cool categories built on top of UIImageView. Subclassing a standard UIView would mean losing them.
For example, AFNetworking's async `UIImageView` category works perfectly using this container class, and you don't have to worry about a thing.
How does it work?
=================
When initialized, `UIImageViewAligned` will create a inner `UIImageView` which will actually hold the image displayed.
The main class then just repositions this inner `UIImageView` to achieve your desired alignment.
At runtime, you can change the image, contentMode or alignment and the image will reposition itself correctly.
The `image` property of UIImageViewAligned is overwritten to forward the calls to the inner `UIImageView`, so you can just drag-n-drop into your app.
Compatibility
=============
From what I tested, it works on iOS 6.0+.
Also, it supports autorotation and will reposition the image correctly.
Using Interface Builder
=======================
You can setup the alignment from Interface Builder using the `Identity Inspector` tab for the UIImageViewAligned.
There, you can add custom boolean properties that will be set when the view is instantiated.
The possible boolean names are:
`alignLeft`
`alignRight`
`alignTop`
`alignBottom`
Below is a screenshot of an example. You will not get an immediate feedback in IB regarding your alignment, but it will work at runtime.
![alt tag](https://raw.github.com/reydanro/UIImageViewAligned/master/docs/IBsetup.png)