Авторазмер UIScrollView - PullRequest
       35

Авторазмер UIScrollView

2 голосов
/ 14 июня 2010

Я сделал UIViewController, который программно генерирует UIScrollView.Все хорошо, но когда я поворачиваю устройство, UIScollView должен изменить размер, чтобы он занимал всю ширину моего представления.

Есть ли способ сделать это без перестройки полного UIScrollView?

Thxмного !Себастьян

Это называется в моем viewDidLoad:

    -(void)buildmyScroller {
    myScroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 800, 768, 100)];


    //...adding some subviews to myScroller


    thumbScroller.contentSize = CGSizeMake(3000, 100);
    [[self view] addSubview:myScroller];
}

Затем я попытался изменить размер моего Scroller с этим, когда я использовал setFrame, я сказал, что myScroller не будет отвечать на него ...:

-(void)changemyScroller {
        UIInterfaceOrientation interfaceOrientation = self.interfaceOrientation;
    if (interfaceOrientation == UIInterfaceOrientationPortrait) {
        [thumbScroller setFrame:CGRectMake(0, 805, 768, 150)];
    }
    else if (interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown){
        thumbScroller.frame = CGRectMake(0, 805, 768, 150);
    }
    else if (interfaceOrientation == UIInterfaceOrientationLandscapeLeft){
        thumbScroller.frame = CGRectMake(0, 549, 1024, 150);
    }
    else if (interfaceOrientation == UIInterfaceOrientationLandscapeRight){
        thumbScroller.frame = CGRectMake(0, 549, 1024, 150);
    }
}

И вызвал метод в didAnimateFirstHalf ... потому что я не уверен, где еще его вызвать.

Спасибо еще раз !!

Ответы [ 2 ]

2 голосов
/ 14 июня 2010

[scrollView setFrame: CGRectmake (x, y, ширина, высота)]; // Может быть, вам нужно сделать то же самое для содержимого scrollView, чтобы оно соответствовало вашему макету

должен это сделать. Вы можете поместить это в блок UIAnimation, если это должен быть переход.

0 голосов
/ 26 мая 2013

Попробуйте это:

    if(self.rowNumber == 0){
    /******************* Scroller Setup *****************/
    // how many pages
    int pageCount = 5;
    //set up the scrollView
    UIScrollView *scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 960)];
    // support for Landscape Orienation
    if(UIInterfaceOrientationLandscapeLeft){
        [scroller  setFrame:CGRectMake(0,0,1024, 704)];
    }
    if(UIInterfaceOrientationLandscapeRight){
        [scroller  setFrame:CGRectMake(0,0,1024, 704)];
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...