Самое простое решение - использовать UIActionSheet без изменений.
Если это не то, что вам нужно, всегда можно использовать модальный контроллер вида.
Если, однако,Вы хотите что-то, что не будет покрывать весь экран, и может иметь индивидуальный вид, основная идея такова:
- Создайте свой вид с рамкой, которая находится внизу вашего основного вида.(например, на 0,406).
- При желании отключить взаимодействие с пользователем с основным видом
- Используйте анимацию UIView для перемещения вверх
Код будет выглядеть примерно так:
UIView *customView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, self.view.bounds.size.width, kCustomViewHeight)];
[self.view addSubview:customView];
[UIView animateWithDuration:0.2 animations:^{
CGRect f = customView.frame;
f.origin.y -= kCustomViewHeight;
customView.frame = f;
}];