UIScrollView + UIPageControl + UIButton

Posted

技术标签:

【中文标题】UIScrollView + UIPageControl + UIButton【英文标题】: 【发布时间】:2013-03-20 14:08:00 【问题描述】:

如何制作类似于 Cut the Rope 游戏中的菜单。下图:

我可以使三个图像水平滑动,但未能将其作为按钮。 虽然我不需要它像游戏一样花哨,但只是一个简单的按钮。

我是否需要在 UIScrollView 中堆叠三个不同的视图及其各自的按钮?我倾向于以编程方式进行。

代码:http://pastebin.com/ikrJ1U7w

【问题讨论】:

你想显示带有按钮背景的图片吗? 再来?对不起,我没听懂你的意思。 【参考方案1】:

它实际上是一个UIScrollView,其中包含自定义类型的UIButton,并且上面有图像。下面是UIPageIndicator

您可以如下创建它,但也要搜索

如何以编程方式创建 UIButton 以添加到滚动视图中

在您的视图控制器中,

viewDidLoad 中,在scrollView 中添加按钮。

    UIScrollView *scrollView = // initalize & set frame as per ur req
    scrollView.userInteractionEnabled = YES;
    scrollView.pagingEnabled = YES;

    float x = 0.0;
    float y = 0.0, width = 320.0;

    float height;

    for (int j = 0; j <= numberofpagesYouwant; j++)
    
        CGRect frame;

        UIButton *button = // Create a button at here;

        frame = CGRectMake(x, y, width, height); // Use this as your button frame

        [scrollView addSubview:button];

        [button release];

        x = x + width;
    

     scrollView.contentSize = CGSizeMake(numberOfPagesYouHave * 320, heightOfYourScrollView);




-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

    CGFloat pageWidth = self.scrollView.frame.size.width;
    int page = floor((self.scrollView.contentOffset.x - pageWidth / 2) / pageWidth) + 1;

    if(page != activityIndicator.currentPage)
    
        NSLog(@"now page change:%d",page);
        [self changePageIndicator:page];   
    


-(void)changePageIndicator:(int)index

    activityIndicator.currentPage = index;


- (void)setNumberOfPages:(int)numPages1

    activityIndicator.numberOfPages = numPages1;

【讨论】:

【参考方案2】:

是的,我很确定这只是放置在某种滚动视图之上的几个按钮。 (很可能以编程方式完成)。

【讨论】:

是的,什么?这些按钮是否在彼此之上? 不,它们都在同一个滚动视图上,它们的框架位于彼此右侧一定数量的点(很可能是 320,因为那是屏幕宽度)。 感谢您的澄清。无论如何,我已经在我的代码上做到了。但是,这些图像不是 UIButton。 它们是我可以从左向右滑动的图像,反之亦然。

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

UIScrollView里面的UIScrollView:滚动

问题:UIScrollview 弹跳使父 UIScrollview 弹跳

UIScrollView 嵌入其他 UIScrollView

分页 UIScrollView 内的 UIScrollView

UIScrollView

UIscrollView