0

所以我想做的是编写一个简单的画廊应用程序 - 详细视图的行为非常类似于 Apple 在 developer.apple.com 上的示例代码部分中提供的 PhotoScroller,即它允许用户在所有图片。我想做的是在用户滑动时更新 title 属性,换句话说,如果用户更改了她正在查看的图像, self.title 属性应该将自身更新为该照片的标题。我知道这是可能的,因为 Apple 自己的照片应用程序能够显示当前索引(“1 of x”)。如何才能做到这一点?我真的很感激任何建议,并在此先感谢您。

4

4 回答 4

2

如果您将图像放在滚动视图中,则此方法将为您提供当前所在的页码:

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    NSInteger pageNum = (int)(scrollView.contentOffset.x / scrollView.frame.size.width);
    NSLog(@"page no is:%d",pageNum);

    [self updateTitleForIndex: pageNum];
}

- (void)updateTitleForIndex:(NSInteger) pageNum
{
    //set title using your page number
    //also call this method initially for setting title
}
于 2012-07-16T13:31:22.743 回答
2

当您滚动ScrollView结束滚动后

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

方法是调用。所以你可以在这个方法中给出标题。首先制作一个包含所有图像标题的数组。然后,如果您的图像宽度为 320,则使用此:-

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
  {
     int index = scrollView.contentOffset.x / 320;
     self.title = [titleArray objectAtIndex:index];
  }
于 2012-07-16T13:34:40.417 回答
1

如果您使用的是分页 UIScrollView,最好的方法是在调用的委托方法中对标题进行操作

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
于 2012-07-16T13:29:18.233 回答
0

您应该使用UIScrollViewDelegate协议方法,例如-scrollViewDidScroll:

于 2012-07-16T13:29:28.293 回答