我们正在构建一个目录应用程序,它有2行排序图像,宽度不同但高度相同。我们按照排序顺序(从A到Z)在scrollview
上绘制图稿。按照附图。
我们使用字母顺序排列的栏顶搜索字母(A到Z)如果我触摸字母J,我想要从j开头的艺术品首先出现。我们使用的代码效果不佳。例如。点击J将我们带到A.非常感谢您的帮助或建议。
代码如下:
NSString *newStr = [currentArtworkTitle substringWithRange:NSMakeRange(0,1)];
if([newStr isEqualToString:self.searchString])
if (scrollViewTopRowWidth > scrollViewBottomRowWidth) {
xCordForSortedView = scrollViewTopRowWidth - c - imgForButton.size.width;//self.touchLengthCount;//50 ;// -10//c scrollViewBottomRowWidth
}
else {
xCordForSortedView = scrollViewBottomRowWidth - c - imgForButton.size.width;// self.touchLengthCount;//40;//scrollViewTopRowWidth
}
// For shifting the screen
if(scrollViewTopRowWidth > scrollViewBottomRowWidth){
int tmpMargin = scrollViewTopRowWidth - xCordForSortedView;
if(tmpMargin < 1024)
scrollView.contentSize = CGSizeMake(scrollViewTopRowWidth+1024,scrollView.bounds.size.height);
}
else{
int tmpMargin = scrollViewBottomRowWidth - xCordForSortedView;
if(tmpMargin < 1024)
scrollView.contentSize = CGSizeMake(scrollViewBottomRowWidth+1024,scrollView.bounds.size.height);
}
[scrollView scrollRectToVisible:CGRectMake(xCordForSortedView, 0,scrollView.frame.size.width, scrollView.frame.size.height) animated:YES];
答案 0 :(得分:0)
我不会编辑你的代码,但我可以给你一个提示。 看,当你填充scrollwiew时,通过添加一个imageview,在NSMutableDictionary(实例变量)中添加一个条目,因此键将是A-Z字母,值将是图像的x位置。完成滚动视图的填充后,您还将获得包含所有图像位置的字典(并且只需要x)和相应的字母。现在点击“J”并点击“搜索” - 您解析字典以使用键“J”来对象,并读取它的值。使用此(x)值设置srollview的contentOffset。多田!