This can be easily done using UIViews
You can have a parent UIView
add a UIImageView
in it . set it to custom photo image.
Now finally add a custom UILabel
with text, another UIImageView
or any other UIView
to the parent view.
Then when you want to save just draw the parent UIView
layer using core graphics(basically taking a screenshot) and save.