Как добавить объекты в UIScrollView, выходящие за пределы UIView из Storyboard?
Я хочу иметь несколько кнопок и других объектов в длинном UIScrollView
в моем приложении. В раскадровке я добавил UIScrollView
, чтобы заполнить представление entre, а затем создал IBOutlet
в моем .h файле. Я синтезировал скроллер в моем файле .m, а затем использовал следующий код для запуска скроллера:
@synthesize scroller = _scroller;
- (void)viewDidLoad
{
[super viewDidLoad];
[_scroller setScrollEnabled:YES];
[_scroller setContentSize:CGSizeMake(640, 3000)];
}
Итак, теперь мне нужно знать, как на самом деле добавлять такие вещи, как кнопки, в область скроллера, которая простирается ниже того, что вы можете видеть в представлении. Моя проблема заключается в том, что по мере того, как я добавляю буйки к моему представлению в раскадровке, я могу только добавить что-то к тому, что вы можете видеть в представлении, и, следовательно, нужно знать, как добавить кнопки для разделения, которые я прокручу!
Надеюсь, это ясно. Спасибо за вашу помощь!
Ответы
Ответ 1
UPDATE
Я разместил скринкаст, который проходит этот шаг поэтапно.
ORIGINAL
Самый простой способ справиться с этим - просто сделать представление в своем раскадровке выше. Когда приложение запускается, любой из обычных контроллеров представления контейнеров (UINavigationController
, UITabBarController
, UISplitViewController
или даже UIViewController
, когда он является контроллером корневого представления его окна) изменяет размер представления, чтобы он поместился на экране и прокрутки.
Вот пример того, как установить его в Xcode:
![xcode процедура для изменения вида раскадровки]()
Я изменил размер контроллера вида с "Inferred" на "Freeform". Затем я изменил высоту своего вида с 460 до 800. (Кстати, клавиша смены-сдвига дает вам меню всех объектов под курсором.)
Вот что происходит, когда я запускаю его в симуляторе:
![симулятор, запускающий пример приложения]()
Как вы можете видеть, иерархия представлений была изменена, чтобы соответствовать экрану, но в подзонах UIScrollView
не были перемещены, и представление прокрутки соответствующим образом задало его размер содержимого. (Это может работать только с автозапуском, хотя...)
Ответ 2
Итак, пример вам, как добавить кнопку:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@"Cool title" forState:UIControlStateNormal];
[btn setFrame:CGRectMake(50, 700, 100, 100)];
[btn addTarget:self action:@selector(action:) forControlEvents:UIControlEventTouchUpInside];
[_scroller addSubview:btn];
Вам просто нужно установить фрейм представления, который вы хотите добавить, и после этого добавить его в качестве подсмотра в своем прокрутке.
Ответ 3
Вы можете использовать инспектор размера (левая часть xcode), чтобы расположить его. или переместить его программно.
Cheers,
Кель