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