UIScrollView и PageControl: пространство между представлениями - PullRequest
1 голос
/ 01 марта 2011

Возможно ли добавить некоторое черное пространство между представлениями, которые отображаются UIScrollView и PageControl. Каждое из этих представлений представляет собой простой контроллер представления с UiImageView в нем, аналогично фотоальбому. Я хочу добавить пробел, поэтому, когда пользователи переключают «страницы» / фотографии, между ними есть некоторый разрыв.

    scrollArea.pagingEnabled = YES;
    scrollArea.contentSize = CGSizeMake(scrollArea.frame.size.width * [photos count], scrollArea.frame.size.height);
    scrollArea.showsHorizontalScrollIndicator = NO;
    scrollArea.showsVerticalScrollIndicator = NO;
    scrollArea.scrollsToTop = NO;
    scrollArea.delegate = self;

Я бы не хотел делать изображения меньше, но это бы помогло. Есть идеи?

1 Ответ

1 голос
/ 01 марта 2011

Да, у вас есть полный контроль над размещением всех UIViews внутри UIScrollView и размещением элемента управления страницы по отношению к просмотру прокрутки. Автоматическая компоновка не выполняется, вам нужно правильно установить свойство frame всех объектов, чтобы они "хорошо" вписывались в "страницу" scrollview (видимая область = одна "страница")

Вот пример отключения контента для нескольких «страниц» в просмотре прокрутки с определенным x, y на каждой странице:

NSMutableArray *myLabels = [NSMutableArray arrayWithCapacity:numPages];
CGFloat itemX = 10;
CGFloat itemY = 20;
CGFloat itemWidth = 40;
CGFloat itemHeight = 50;

for ( int i = 0; i < numPages; ++i )
{
    UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake( itemX, itemY, itemWidth, itemHeight )];
    [myScrollView addSubview:lbl];
    [myLabels addObject:lbl];
    [lbl release];
    itemX += myScrollView.frame.size.width;
}
...