在我的应用程序中,我想制作带滚动视图的UIButton滑块,当我们滚动按钮的uiscrollview时,按钮将位于中心位置请查看这些应用程序的第一个屏幕http://itunes.apple.com/au/app/id422249255?mt=8我该怎么做?我现在可以使用哪些方法,我使用了UIScrollview的这些委托方法
-(void)scrollViewDidScroll:(UIScrollView *)aScrollView
{
}
(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
}
(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)aScrollView
{
}
答案 0 :(得分:1)
这样做:
在.m文件的标题中添加这些
#define viewWidth 40 //button width
#define viewHeight 30 //button height
#define viewOffsetX 5 //button left ie X
#define viewOffsetY 5 //button right ie Y
#define viewXspace 15 //button from top X space
#define ViewYspace 5 //button from bottom
你有按钮的图像将它们添加到数组中,即arrBtnImages
现在使用这些方法在scrollView中加载按钮,即viewDidLoad方法中的scView
- (void)loadBtnInSlider
{
int row = 1;
int col = [arrBtnImages count] / row;
if ([mut_arrImages count] % col != 0 ) {
col++;
}
int index = 0;
for (int i=0; i < row ; i++)
{
CGRect frame;
frame.size = CGSizeMake(viewWidth, viewHeight);
frame.origin.y = (i * viewHeight) + (i * ViewYspace) + viewOffsetY;
for (int j= 0; j < col && index < [mut_arrImages count]; j++) {
CGRect frame;
frame.size = CGSizeMake(viewWidth, viewHeight);
frame.origin.x = (j * viewWidth) + (j * viewXspace) + viewOffsetX;
frame.origin.y = viewOffsetY;
UIButton *btn = [[UIButton alloc]initWithFrame:frame];
[btn setTag:j];
[btn addTarget:self action:@selector(btnSelector:) forControlEvents:UIControlEventTouchUpInside];
[btn setUserInteractionEnabled:YES];
[btn setImage:[UIImage imageNamed:[arrBtnImages objectAtIndex:j]] forState:UIControlStateNormal];
index++;
[scView addSubview:btn];
[btn release];
}
}
[scView setContentSize:CGSizeMake(col * (viewWidth+ViewYspace)+viewOffsetY,scView.frame.size.height)];
}
在vieDidLoad中使用此方法,如下所示:
[self loadBtnInSlider];
现在为.h文件中的按钮添加以下选择器方法,它就像这样
-(void)btnSelector:(id)sender
{
UIButton *btnSelected = sender;
switch(btnSelected.tag)
{
// add case as much u have button
case 0:
//first button called
break;
case 1:
//second button called
break;
::
::
}
}