I Was Irritated By IB's Lack Of Support For UIImageRenderingModeAlwaysTemplate On UIImageView, You Won't Believe What Happened Next...

I made a subclass to do it for me.

// .h
IB_DESIGNABLE
@interface ENVImageView : UIImageView


@property (assign, nonatomic) IBInspectable BOOL alwaysTemplate;

@end

// .m
@implementation ENVImageView


- (void)awakeFromNib {
        [super awakeFromNib];
        [self updateImage];
}

- (void)prepareForInterfaceBuilder {
        [super prepareForInterfaceBuilder];
        [self updateImage];
}

- (void)updateImage {

        if ([self image] && [self alwaysTemplate]) {
                UIImage *templateImage = [[self image] imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
                [super setImage:templateImage];
        }
}

- (void)setImage:(UIImage *)image {

        UIImage *actualImage = image;

        if ([self alwaysTemplate]) {
                actualImage = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
        }

        [super setImage:actualImage];
}

@end

Thanks to the wonderful IBDesignable and IBInspectable, I now have a boolean flag in IB that uses the image property as a template image, and tints it using the tintColor property. Bonus.