я думаю, что # 2 и # 3 - это одно и то же, так как вы бы отображали изображение с помощью UIImageView. UIButton - это довольно тонкий слой в UIView, который облегчает обработку событий, но он может делать то, что визуально не нужно (или, может быть, вы делаете?). В любом случае, попробовать эти варианты так просто, что я просто поиграю с ними. Я не вижу конкретной причины для № 4, если ваша общая стратегия не подтолкнет вас в этом направлении, например, возможно, вы начнете делать какой-то рисунок, достаточно богатый / сложный, чтобы создать слишком много видов.
AFA всплывающее окно, оно действительно зависит от того, что вы подразумеваете под "всплывающим окном". Например, когда он появляется, вам нужен способ закрыть это всплывающее окно?