Нет встроенного представления, обеспечивающего эту функциональность. Это означает, что будет достаточно работы для дублирования этой функциональности.
Что вы можете попробовать:
1) Создайте новый UIViewController
с пером.
2) Добавьте верхнюю полосу и UIScrollView
с непрозрачным = NO и альфа = 0.
3) Если у вас есть фиксированное количество «шаблонов», они могут быть добавлены непосредственно в перо. Вы должны быть в состоянии использовать UIImageView
4) В противном случае вы можете динамически добавлять «шаблоны», например, в. viewDidLoad
. Единственная часть, которая может быть немного хитрой, это вычисление кадра. Следующий псевдокод должен помочь вам начать.
int MARGIN = 20;
float templateWidth = self.scrollView.bounds.size.width / 3;
float templateHeight = 300;
for (int i = 0; i < [templates count]; i++) {
int row = i / 3;
int col = i % 3;
float x = MARGIN + col * templateWidth;
float y = MARGIN + row * templateHeight;
CGRect templateFrame = CGRectMake(x, y, width - 2 * MARGIN, height - 2 * MARGIN);
// initialize `UIImageView` or similar
templateView.frame = templateFrame;
[self.scrollView addSubView:templateView];
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.bounds.width, /* max bottom of templates */);
}
После того, как вы довели макет до совершенства, все остальное должно быть довольно простым, поскольку вам нужно только реагировать на нажатия на изображения вашего шаблона. Взгляните на UITapGestureRecognizer
один из способов сделать это.
Относительно iPhone. Я бы, вероятно, сделал это так, как вы выбираете документ в приложениях iWorks. Только один шаблон отображается на экране в то время, и вы проводите влево / вправо, чтобы выбрать. Но все зависит от контекста. Возможно, табличное представление лучше подходит для iPhone.
Удачи!