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