Scrollview中的图像排序错误 - iPad应用程序

时间:2012-07-20 06:22:48

标签: iphone ios5 uiscrollview uiimageview

我们正在构建一个目录应用程序,它有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];

1 个答案:

答案 0 :(得分:0)

我不会编辑你的代码,但我可以给你一个提示。 看,当你填充scrollwiew时,通过添加一个imageview,在NSMutableDictionary(实例变量)中添加一个条目,因此键将是A-Z字母,值将是图像的x位置。完成滚动视图的填充后,您还将获得包含所有图像位置的字典(并且只需要x)和相应的字母。现在点击“J”并点击“搜索” - 您解析字典以使用键“J”来对象,并读取它的值。使用此(x)值设置srollview的contentOffset。多田!