如何将水平滚动添加到UIView?

时间:2016-05-13 09:18:29

标签: ios objective-c iphone uiview

我正在使用特定UIView中的水平滚动。在这里,我创建了一个滚动视图,然后我添加了UIView。此UIViewUIScrollView的子视图。 UIView包含UIElements Like标签,Images..etc。对于滚动功能,我添加了页面控件。

"我需要实现水平滚动到此UIView(左/右滚动)。"

我不知道该怎么做。任何人都可以帮我这个功能。在这里,我附上了我的页面屏幕截图。

enter image description here

在此图片中包含UIScrollViewUIView。边界视图是UIView。然后背景视图是滚动视图。我想滚动这个有界的UIView

这是我的代码:

 //This is my Horizontal scrolling code:

 for(int i = 0;i < self.catagoriesAPI_Array.count;i++)
{
    CGRect frame;
    frame.origin.x = self.view.frame.size.width * i;
    frame.origin.y = 0;
    frame.size = self.view.frame.size;

    self.favoriteSub_view = [[UIView alloc] initWithFrame:frame];

    favoriteModelOB = [self.catagoriesAPI_Array objectAtIndex:i];

    self.itemFavoriteName_LB.text = favoriteModelOB.rewards_program_description;

    [_favorites_scroll_view addSubview:_favoriteSub_view];  // add the subview for scroll view
}
_offers_Scroll_view.contentSize = CGSizeMake(self.view.frame.size.width * [self.catagoriesAPI_Array count], _offers_Scroll_view.frame.size.height);

//滚动视图代表:

  -(void)scrollViewDidScroll:(UIScrollView *)scrollView
      {
        CGFloat pageWidth = _offers_Scroll_view.frame.size.width;
          int page = floor((_offers_Scroll_view.contentOffset.x - pageWidth / 2) / pageWidth) + 1;
_pageControl.currentPage = page;

CGFloat pageWidth1 = _favorites_scroll_view.frame.size.width;
int page1 = floor((_favorites_scroll_view.contentOffset.x - pageWidth1 / 2) / pageWidth1) + 1;
_pageControl.currentPage = page1;
           }

2 个答案:

答案 0 :(得分:0)

您必须在UIView内添加UIScrollView 激活UIScrollView属性中的水平滚动,最后定义比UIScrollView.contentSize尺寸宽度更大的UIScrollView.frame
如果像这样完成,您将能够滚动UIScrollView。

答案 1 :(得分:0)

//根据您的要求为View提供maximumu宽度,并为scrollview提供内容大小,如下所示

scrollview.contentSize = view.frame.size