@ Кристофер Фэрбаим вправе предложить использовать UIButtonTypeCustom. Использование UIButtonTypeRoundedRect даст вам белый фон в прозрачных областях.
Однако подключение к интерфейсу в Интерфейсном Разработчике имеет свои ограничения. Если вы хотите динамически генерировать UIViews, UIButton и ресурсы либо из набора данных, либо на основе пользовательского ввода, программирование - это путь.
Чтобы создать кнопку: (Примечание: это также будет работать с другими типами UIButton, но я использовал UIButtonTypeCustom для этого конкретного примера прозрачности.)
UIButton *btnName = [UIButton buttonWithType:UIButtonTypeCustom];
Чтобы изменить нужные свойства:
btnName.backgroundColor = [UIColor clearColor];
btnName.frame = CGRectMake(100, 100, 72, 37); //(X coord, Y coord, width, height)
[btnName addTarget:myActionClassName action:@selector(myActionName) forControlEvents:UIControlEventTouchUpInside];
Чтобы добавить изображения для различных состояний (предположим, это прозрачные файлы .png):
UIImage *btnNameImageNormal = [UIImage imageNamed:@"btnNameNormal.png"];
[btnName setBackgroundImage:btnMenuImageNormal forState:UIControlStateNormal];
UIImage *btnNameImagePressed = [UIImage imageNamed:@"btnNamePressed.png"];
[btnName setBackgroundImage:btnNameImagePressed forState:UIControlStateHighlighted];
Чтобы добавить кнопку в представление (из класса viewController):
[self addSubview:btnName];
(Прошу прощения за любые опечатки, поскольку я скопировал и вставил из одного из своих проектов и попытался обобщить именование.)