2013-10-05 4 views
1

Прокрутка открывается, без видимых видимых видов. Вид движется отлично, управление страницей работает. Когда я меняю фон скроллера, все работает нормально. Представления «разные цвета» не отображаются. Не знаю, что случилось. Спасибо за помощьScrollView, Просмотров не отображается

-(void)viewDidLoad {  
[super viewDidLoad]; 

CGRect frame = CGRectMake(0, 215, WIDTH_OF_IPHONE, HEIGHT_OF_SCROLLER); 

int numOfPhotos = 6; 

scrollViewer = [[UIScrollView alloc] initWithFrame:frame]; 
scrollViewer.contentSize = CGSizeMake((WIDTH_OF_IPHONE*numOfPhotos), HEIGHT_OF_SCROLLER); 
scrollViewer.pagingEnabled = YES; 
//scrollViewer.backgroundColor = [UIColor lightGrayColor]; 
[scrollViewer setDelegate:self]; 

int i = 0; 

while (i < numOfPhotos){ 

    CGRect frameOfView = CGRectMake((i*320), 215, 320, HEIGHT_OF_SCROLLER); 
    UIView *photoFrame = [[UIView alloc] initWithFrame:frameOfView]; 

    if (i == 0){ 
     photoFrame.backgroundColor = [UIColor redColor];//colorWithPatternImage:image1]; 
     NSLog(@"colour was selected"); 
    }else if (i==1){ 
     photoFrame.backgroundColor = [UIColor blueColor];//colorWithPatternImage:image2]; 
    }else if (i==2){ 
     photoFrame.backgroundColor = [UIColor purpleColor];//colorWithPatternImage:image3]; 
    }else if (i==3){ 
     photoFrame.backgroundColor = [UIColor orangeColor];//colorWithPatternImage:image4]; 
    }else if (i==4){ 
     photoFrame.backgroundColor = [UIColor magentaColor];//colorWithPatternImage:image5]; 
    }else{ 
     photoFrame.backgroundColor = [UIColor greenColor];//colorWithPatternImage:image6]; 
    } 

    [scrollViewer addSubview:photoFrame]; 
    //[photoFrame release]; 

    photoFrame = NULL; 
    i++; 
} 
pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 0, WIDTH_OF_IPHONE, 15)]; 
pageControl.center = CGPointMake(scrollViewer.center.x, (208+HEIGHT_OF_SCROLLER)); 

[pageControl setNumberOfPages:numOfPhotos]; 

[pageControl addTarget:self action:@selector(pageSwiped:) forControlEvents:UIControlEventValueChanged]; 

[self.view addSubview:scrollViewer]; 
[self.view addSubview:pageControl]; 

Моего файл .H выглядит следующим образом

@interface HomePage : UIViewController <UIActionSheetDelegate, UIScrollViewDelegate> { 

    IBOutlet UIScrollView *scrollViewer; 
    UIPageControl *pageControl; 
    BOOL pageControlUsed; 

} 
@end 
+0

Ваша проблема здесь CGRect frameOfView = CGRectMake ((i * 320), 215, 320, HEIGHT_OF_SCROLLER); Я думаю, вы должны это сделать CGRect frameOfView = CGRectMake ((i * 320), 0, 320, HEIGHT_OF_SCROLLER); для работы – Sandeep

+0

Спасибо, поэтому, если я создаю представление сверху прокрутки, то x и y относятся к виду скроллера, а не к главному виду :) спасибо – Ruan

ответ

0

Попробуйте установить происхождение у фоторамки до 0, как это будет поместить его под реальной фрейме вашей Scrollview.

Если проблема не в том, что вы делаете фоторамку NULL. Если вы используете ARC, вы не должны беспокоиться, так как сборщик мусора позаботится об этом.

Смежные вопросы