Вопрос

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

Есть ли способ сделать это без восстановления полного UISCROLLVIEW?

Большое спасибо ! Себастьян

Это называется в моей 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];
}

Потом я пытался изменить размер MyScroller с этим, когда я использовал настроек, я сказал, что 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);
    }
}

И назвал методом в диданимамфирстехальфе ... Потому что я не стесняюсь, где еще называть это.

Снова временно !!

Это было полезно?

Решение

ScrollView Setframe: CGRETMAKE (X, Y, ширина, высота)]; // Может быть, вам нужно сделать то же самое для содержимого ScrollView, чтобы сделать его подходящим макетом

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

Другие советы

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

    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)];
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top