在customcell上添加滑动UIImageView

时间:2015-03-05 10:30:37

标签: ios objective-c uiimageview

当我浏览UIImageview时,我想在UIImageview中更改图像,我在customcell上添加UIScroll视图,在滚动视图上我添加了UIImageview我还想添加UIPagecontrol,当我在imageview图像上滑动时正在改变但是点在页面控制器中没有变化,请任何人帮助我是ios的新手,如何在customcell上添加分页滑动imageview?以及如何使分页点工作, 这是我的代码

                 - (UITableViewCell *)tableView:(UITableView *)tableView  cellForRowAtIndexPath:(NSIndexPath *)indexPath{
               static NSString *cellIdentifier = @"cell";
              customCellForText *cell = [tableObj deq          ueueReusableCellWithIdentifier:cellIdentifier];
           if (cell==nil) {
               NSArray *nib = [[NSBundle    mainBundle]loadNibNamed:@"customCellForText" owner:self options:nil];
            cell = [nib objectAtIndex:0];


              scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(130, 80, 150, 100)];
               scrollView.pagingEnabled = YES;
             scrollView.delegate = self;
             [scrollView setShowsHorizontalScrollIndicator:NO];
             [scrollView setShowsVerticalScrollIndicator:NO];
             [cell.contentView addSubview:scrollView];

             for (int i = 0; i < imageArray.count; i++) {
               CGRect frame;
              frame.origin.x = self.scrollView.frame.size.width * i;
               frame.origin.y = 0;
              frame.size = self.scrollView.frame.size;

            subview = [[UIImageView alloc] initWithFrame:frame];
             subview.image = [imageArray objectAtIndex:i];
              [self.scrollView addSubview:subview];
              }

             self.scrollView.contentSize =   CGSizeMake(self.scrollView.frame.size.width * imageArray.count,     self.scrollView.frame.size.height);
             pageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(210, 180, 30, 20)];
           pageControl.backgroundColor = [UIColor redColor];
           pageControl.numberOfPages = imageArray.count;
           [pageControl addTarget:self action:@selector(changePage:)  forControlEvents:UIControlEventTouchUpInside];
            [cell.contentView addSubview:pageControl];

          UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer    alloc]initWithTarget:self action:@selector(singleTap)];
          tapGesture.numberOfTapsRequired = 2;
           [subview setUserInteractionEnabled:YES];
           [subview addGestureRecognizer:tapGesture];
            }

          [cell.commentBtn addTarget:self action:@selector(commentBtnClicked:)  forControlEvents:UIControlEventTouchUpInside];
           cell.commentBtn.tag = indexPath.row;
           cell.nameLabel.text=@"amol";




          return cell;
           }

- (void)scrollViewDidScroll:(UIScrollView *)sender {
            // Update the page when more than 50% of the previous/next page is visible
             CGFloat pageWidth = self.scrollView.frame.size.width;
            int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
            self.pageControl.currentPage = page;
             }

1 个答案:

答案 0 :(得分:0)

您可能需要在滑动时设置pageControl的currentPage属性。

UIPageControl currentPage

此外,您可能希望使用此公式计算新页面,如下所示

NSInteger newPage = (NSUInteger)floor((self.scrollView.contentOffset.x * 2.0f + pageWidth) / (pageWidth * 2.0f));
相关问题