ios - UIScrollView + PageControl -
i have view controller outlets of scrollview (initial size: 390, 170) , page control. need display image per page array. have unexpected result (see image below).

images not full-width , after 2nd page scrollview ends.
here code
- (void)viewdidload { [super viewdidload]; //put names of our image files in our array. imagearray = [[nsarray alloc] initwithobjects:@"header1.jpg", @"header2.jpg", @"header3.jpg", nil]; [self.articlespagecontroll setnumberofpages:imagearray.count]; (int = 0; < [imagearray count]; i++) { //we'll create imageview object in every 'page' of our scrollview. cgrect frame; frame.origin.x = 390 * i; frame.origin.y = 0; frame.size = self.articlesscrollview.frame.size; uiimageview *imageview = [[uiimageview alloc] initwithframe:frame]; [imageview setcontentmode:uiviewcontentmodescaletofill]; imageview.image = [uiimage imagenamed:[imagearray objectatindex:i]]; [self.articlesscrollview addsubview:imageview]; } //set content size of our scrollview according total width of our imageview objects. self.articlesscrollview.contentsize = cgsizemake(self.articlesscrollview.frame.size.width * [imagearray count], 170); } - (void)scrollviewdidscroll:(uiscrollview *)sender { // update page when more 50% of previous/next page visible cgfloat pagewidth = self.articlesscrollview.frame.size.width; int page = floor((self.articlesscrollview.contentoffset.x - pagewidth / 2) / pagewidth) + 1; self.articlespagecontroll.currentpage = page; } upd: 3rd page image exists, it's impossible scroll page
thanks in advance!
solution self.articlesscrollview.contentsize = cgsizemake(390 * [imagearray count], 170);
Comments
Post a Comment