Добавление вертикального правила (границы) между двумя UIScrollViews - PullRequest
0 голосов
/ 14 января 2011

У меня есть два экземпляра UIScrollView, и я хочу нарисовать вертикальную линию между ними (не высота 100%, а больше 80%).Как мне этого добиться?

Ответы [ 2 ]

3 голосов
/ 14 января 2011

Используйте Core Graphics.Вложите два UIScrollViews в другое представление и переопределите метод drawRect на родительском объекте.См. Документацию Apple UIView для drawRect для получения более подробной информации и Базовую справочную информацию по контексту для получения дополнительной информации о рисовании.

- (void) drawRect: (CGRect) rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    // Draw divider
    UIGraphicsPushContext(context);
        // Fill the background, this must happen if the view is not opaque.
            if (self.opaque)
            {
            [[UIColor whiteColor ] set];
            CGContextFillRect(context, rect);
            }

        [[UIColor grayColor] set];

        CGContextSetLineWidth(context, 1);

        CGContextBeginPath(context);
        CGContextMoveToPoint(context, rect.size.width * 0.5, 0.1 * rect.size.height);
        CGContextAddLineToPoint(context, rect.size.width * 0.5, 0.9 * rect.size.height);
        CGContextStrokePath(context);
    UIGraphicsPopContext(); 
}

edit

Что касается моего недосмотра, я не знаю простого способа рисовать поверх подпредставлений.

Это поведение можно смоделировать с использованием той же иерархии базовых представлений, что и выше.Подкласс UIView для создания полностью прозрачного представления, которое не принимает никаких сенсорных событий.Поместите код рисования (я добавил условие для непрозрачности в приведенном выше коде) в настраиваемое представление, а затем вставьте экземпляр настраиваемого представления в начало иерархии представлений.

1 голос
/ 14 января 2011

Вертикальная линия между вашими представлениями также может быть просто тонким, высоким UIView (поверх представлений прокрутки) с, скажем, сплошным фоновым цветом. Это означает, что вам не нужно беспокоиться о собственном коде рисования. Это также позволяет вам размещать его в Интерфейсном Разработчике, использовать автоматическое изменение размера и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...