IOS中的UIScrollView

Posted

技术标签:

【中文标题】IOS中的UIScrollView【英文标题】:UIScrollView in IOS 【发布时间】:2013-04-25 09:01:53 【问题描述】:

我有一个我正在使用的 gridview,它有一个标题、侧边栏,然后是里面的 gridview,我已经设置了滚动,但它不像我想要的那样工作。

我正在尝试进行滚动,这样当我水平滚动时,我的左侧栏将保持不变,而网格仅滚动,但当我垂直滚动时,我希望它与网格一起移动。而且我希望顶部的标题也能做到这一点,因此垂直滚动会使其保持不变,水平滚动会使其与网格一起移动。

我做了一个滚动视图,但它一起移动并且不能正常工作。

谁能帮帮我,谢谢。

【问题讨论】:

您能否展示一些您尝试制作的示例屏幕截图......并让我们知道到目前为止实现的代码...... 我现在会添加它..谢谢 这是我正在尝试制作的示例:a603.phobos.apple.com/us/r1000/077/Purple/v4/87/df/c2/… 查看这个***.com/questions/2543670/… 所以在示例中:侧面的徽标是我的侧栏,顶部的时间是我的标题,然后是 gridview.. 【参考方案1】:

这样做的最佳方法是将 scollview 的内部视图沿滚动视图的相反方向移动,例如,您的滚动视图中有名为“Bar”的 UIView,您需要检测每次 scollview 滚动时它的代表并用它移动“栏”:

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

   // Move is horizontal
   if (self.lastContentOffsetX != scrollView.contentOffset.x)
   
      [Bar setFrame:CGRectMake(scrollView.contentOffset.x,Bar.frame.origin.y, Bar.frame.size.width, Bar.frame.size.height)];
   
   // Move is vertical
   if (self.lastContentOffsetY != scrollView.contentOffset.y)
   
     //Move another control that you want to be steady 
   
   self.lastContentOffsetX = scrollView.contentOffset.x;
   self.lastContentOffsetY = scrollView.contentOffset.y;

【讨论】:

【参考方案2】:

使用 [scroll_View setPagingEnabled:YES]; 这会工作

【讨论】:

以上是关于IOS中的UIScrollView的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发:iOS中的多控制器管理

IOS5中的Safari不兼容Javascript中的Date问题

iOS6中的iOS行车路线

iOS中的NSLineSeparatorCharacter?

iOS8中的UIActionsheet

iOS 7 兼容应用程序中的 iOS 6 性能问题