当我浏览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;
}
答案 0 :(得分:0)
您可能需要在滑动时设置pageControl的currentPage属性。
此外,您可能希望使用此公式计算新页面,如下所示
NSInteger newPage = (NSUInteger)floor((self.scrollView.contentOffset.x * 2.0f + pageWidth) / (pageWidth * 2.0f));