Как я центрирую UIImageView в полноэкранном UIScrollView?

Ingress перенаправит ваш внешний трафик на ваш сервис в кластере , поэтому ClusterIP является хорошим выбором. Не нужно использовать NodePort. Из Документации

Ingress, добавленный в Kubernetes v1.1, предоставляет маршруты HTTP и HTTPS извне кластера для служб в кластере

blockquote>

20
задан Ajumal 27 April 2015 в 10:26
поделиться

5 ответов

Этот код должен работать на большинстве версий iOS (и был протестирован для работы на 3.1 и выше).

Он основан на коде Apple WWDC для PhotoScroller.

Добавьте следующее в ваш подкласс UIScrollView, и замените tileContainerView на представление, содержащее ваше изображение или плитки:

- (void)layoutSubviews {
    [super layoutSubviews];

    // center the image as it becomes smaller than the size of the screen
    CGSize boundsSize = self.bounds.size;
    CGRect frameToCenter = tileContainerView.frame;

    // center horizontally
    if (frameToCenter.size.width < boundsSize.width)
        frameToCenter.origin.x = (boundsSize.width - frameToCenter.size.width) / 2;
    else
        frameToCenter.origin.x = 0;

    // center vertically
    if (frameToCenter.size.height < boundsSize.height)
        frameToCenter.origin.y = (boundsSize.height - frameToCenter.size.height) / 2;
    else
        frameToCenter.origin.y = 0;

    tileContainerView.frame = frameToCenter;
}
28
ответ дан 30 November 2019 в 00:36
поделиться

Используете ли вы IB для добавления вида прокрутки? Измените параметры автоматического изменения размера прокрутки на вложенное изображение. alt text

1
ответ дан 30 November 2019 в 00:36
поделиться

Вы, вероятно, хотите установить границы представления прокрутки = границы представления изображения, а затем центрируйте представление прокрутки в содержащем его представлении. Если вы поместите вид внутри вида с прокруткой со смещением от вершины, то получите пустое пространство над ним.

-1
ответ дан 30 November 2019 в 00:36
поделиться

Удалось ли вам решить эту проблему? Я застрял с аналогичной проблемой. Я думаю, что причина этого в том, что zoomScale применяется ко всему contentSize, независимо от фактического размера subview внутри scrollView (в вашем случае это imageView). Высота contentSize кажется всегда равна или больше высоты рамки scrollView, но никогда не меньше. Поэтому при применении к нему масштабирования высота contentSize также умножается на коэффициент zoomScale, поэтому вы получаете дополнительные 100 с чем-то пикселей вертикальной прокрутки.

0
ответ дан 30 November 2019 в 00:36
поделиться

Ознакомились ли вы с вариантами UIViewAutoresizing?

(из документации)

UIViewAutoresizing
Specifies how a view is automatically resized.

enum {
   UIViewAutoresizingNone                 = 0,
   UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
   UIViewAutoresizingFlexibleWidth        = 1 << 1,
   UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
   UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
   UIViewAutoresizingFlexibleHeight       = 1 << 4,
   UIViewAutoresizingFlexibleBottomMargin = 1 << 5
};
typedef NSUInteger UIViewAutoresizing;
2
ответ дан 30 November 2019 в 00:36
поделиться