Ios 实现UIPageControl垂直滚动

Ios 实现UIPageControl垂直滚动,ios,objective-c,uipagecontrol,Ios,Objective C,Uipagecontrol,我正在尝试创建一个带有垂直滚动的UIPageControl。默认情况下,您只能在水平方向上滑动,但如何将其上下滑动 这是我的密码: #pragma mark page control setup - (void)setupPageScroll { _pageControl.transform = CGAffineTransformMakeRotation(M_PI /2 ); _pageControl.currentPage = 0; _pageControl.num

我正在尝试创建一个带有垂直滚动的
UIPageControl
。默认情况下,您只能在水平方向上滑动,但如何将其上下滑动

这是我的密码:

#pragma mark page control setup

- (void)setupPageScroll {
    _pageControl.transform = CGAffineTransformMakeRotation(M_PI /2 );
    _pageControl.currentPage = 0;
    _pageControl.numberOfPages = 3;
    [_scrollView setContentSize:CGSizeMake(_scrollView.frame.size.width * _pageControl.numberOfPages, _scrollView.frame.size.height)];
    _scrollView.delegate = self;
    [self createPageWithView:_tower1 forPage:0];
    [self createPageWithView:_tower2 forPage:1];
    [self createPageWithView:_tower3 forPage:2];
}

- (void)createPageWithView:(UIView *)iview forPage:(int)page
{
    UIView *newView = [[UIView alloc] initWithFrame:
                       CGRectMake(_scrollView.frame.size.width * page, 0, _scrollView.frame.size.width, _scrollView.frame.size.height)];
    [newView addSubview:iview];
    [_scrollView addSubview:newView];
}

- (IBAction)pageChanged:(id)sender {
    CGRect pageRect = CGRectMake(_pageControl.currentPage * _scrollView.frame.size.width, 0, _scrollView.frame.size.width, _scrollView.frame.size.height);
    [_scrollView scrollRectToVisible: pageRect animated: YES];
}

- (void)scrollViewDidScroll: (UIScrollView *) sView
{
    CGFloat offset = _scrollView.contentOffset.x;
    CGFloat pageSize = _scrollView.frame.size.width;
    int page = floor((offset + (pageSize/2)) / pageSize);
    _pageControl.currentPage = page;
}

如果您使用的是interface builder,只需将此值设置为用户定义的运行时属性。 它起作用了


看来你已经做到了。基本上,您可以将其旋转90度:
pageControl.transform=CGAffineTransformMakeRotation(M_PI/2)具体来说,您试图通过实现解决的问题是什么?@wottle,默认情况下,您可以水平、上下或垂直滑动页面控件,这都是关于垂直滑动和滚动,而不是UIPageControl旋转!!!不你不明白我的问题!!!!我通过以下代码使对象垂直:
\u pageControl.transform=CGAffineTransformMakeRotation(M\u PI/2)默认情况下,您可以水平、上下或垂直滑动页面控件,这都是关于垂直滑动和滚动,而不是UIPageControl旋转<代码>UIView*newView=[[UIView alloc]initWithFrame:CGRectMake(0,_-scrollView.frame.size.height*页,_-scrollView.frame.size.width,_-scrollView.frame.size.height)]_scrollView.contentSize=CGSizeMake(_-scrollView.frame.size.width,_-scrollView.frame.size.height*(第+1页))
应该算你运气好,因为在那不体贴的回复@McLover Szy花时间回答(他是唯一一个)然后你对他大喊大叫之后,你得到了回复