Я не знаю, если это только я, но я пытался следовать инструкциям в каждом из других ответов здесь, и ни один из них не работал. Ни один из ответов не включал в себя все необходимое, каждый из которых, я полагаю, предполагал, что мы знаем, что-то сделать, так что эту часть оставим без внимания. Я наконец понял это с помощью красного ремесленника. Итак ... Я перечисляю здесь ВСЕ необходимые шаги, чтобы заставить это работать:
В InterfaceBuilder добавьте View, а затем добавьте в него ваши элементы управления (или, если ваши элементы управления уже существуют в главном представлении, вы можете выбрать все ваши элементы управления и затем перейти в Editor | Embed In | View, затем перетащить что новый вид, так что все это само по себе за пределами основного вида). Это представление может быть любого размера.
В InterfaceBuilder добавьте вид прокрутки к основному виду и измените его размер, чтобы он занимал весь основной вид.
Добавьте указанный ниже код в файлы заголовков и классов UIViewController.
В InterfaceBuilder подключите View, содержащий ваши элементы управления, к «contentView» в владельце файла. Подключите представление прокрутки к scrollView в владельце файла.
Заголовочный файл:
@interface MyViewController : UIViewController
@property(nonatomic, retain) IBOutlet UIScrollView *scrollView;
@property(nonatomic, retain) IBOutlet UIView *contentView;
Файл класса:
@synthesize scrollView, contentView;
- (void)viewDidLoad
{
[super viewDidLoad];
[self.scrollView addSubview:self.contentView];
self.scrollView.contentSize = self.contentView.bounds.size;
}
- (void)viewDidUnload
{
self.scrollView = nil;
self.contentView = nil;
[super viewDidUnload];
}