Вид прокрутки приложения iphone - горизонтальный, но я хочу, чтобы он был вертикальным - как мне это изменить? - PullRequest
1 голос
/ 23 марта 2010

Получил этот код для viewscroller с сайта разработчиков Apple.

@synthesize scrollView1, scrollView2;

const CGFloat kScrollObjHeight  = 467.0;
const CGFloat kScrollObjWidth   = 320.0;
const NSUInteger kNumImages     = 6;


- (void)layoutScrollImages
{
    UIImageView *view = nil;
    NSArray *subviews = [scrollView1 subviews];


    // reposition all image subviews in a horizontal serial fashion
    CGFloat curXLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(curXLoc, 0);
            view.frame = frame;

            curXLoc += (kScrollObjWidth);
        }
    }

    // set the content size so it can be scrollable
    [scrollView1 setContentSize:CGSizeMake((kNumImages * kScrollObjWidth), [scrollView1 bounds].size.height)];
}

работает блестяще, изображения поворачиваются, потянув их влево или вправо.но я хочу потянуть изображения вверх и вниз, чтобы изменить их.

Может кто-нибудь помочь мне с этим?эта часть в коде выглядит так, как будто она управляет направлением, но я не уверен, как его изменить.

// reposition all image subviews in a horizontal serial fashion
    CGFloat curXLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(curXLoc, 0);
            view.frame = frame;

            curXLoc += (kScrollObjWidth);
        }
    }

Любая помощь, наиболее ценная, спасибо!

Билли

1 Ответ

2 голосов
/ 23 марта 2010

Чтобы изменить «направление» прокрутки с горизонтального на вертикальное, вы должны поменять местами способ обработки координат x и y. Код будет выглядеть так:

- (void)layoutScrollImages
{
    UIImageView *view = nil;
    NSArray *subviews = [scrollView1 subviews];

   // reposition all image subviews in a horizontal serial fashion
    CGFloat curYLoc = 0;
    for (view in subviews)
    {
        if ([view isKindOfClass:[UIImageView class]] && view.tag > 0)
        {
            CGRect frame = view.frame;
            frame.origin = CGPointMake(0, curYLoc);
            view.frame = frame;

            curYLoc += (kScrollObjHeight);
        }
    }

    // set the content size so it can be scrollable
    [scrollView1 setContentSize:CGSizeMake([scrollView1 bounds].size.width, kNumImages * kScrollObjHeight)];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...