Есть множество способов достичь этого. Пока я читаю, вы ищете 2D-перспективу, которая, к счастью, гораздо более доступна для любого, кто не имеет опыта работы с 3D-рендерингом. Вы могли бы изучить использование сторонней библиотеки, как предложено.
Если вы хотели «нативное» решение, ваши варианты будут либо на основе CG, либо на основе изображений / UIKit. Оба относительно доступны.
С Quartz / CG, по сути, вы будете рисовать серии линий и дуг, чтобы составить нужные фигуры. Я обычно делаю наброски на бумаге, затем вычеркиваю черновые сегменты и компоненты, которые мне нужны в коде; на самом деле не очень сложно рисовать пути с помощью команд CG. Вы можете довольно легко создать класс фабрики фигур, а затем просто спросить его для данной фигуры в заданном размере, когда придет время добавить фигуру в ваше представление.
Если вы не хотите рисовать пути в коде, последний вариант - использовать UIKit. При таком подходе вы можете создавать свои фигуры в фотошопе, разрезать их на изображения, а затем помещать их в изображения и в свое приложение. Затем вы можете манипулировать этими изображениями в 2.5d пространстве, используя преобразования CALayer. Если ваши потребности скромны, это относительно простой и простой способ сделать это и выглядеть прилично. К сожалению, этот подход не очень динамичен, плохо масштабируется и может просто не соответствовать порогу производительности, который вы ищете на экране.