在我的应用我想打的UIButton滑块与滚动视图中,当我们滚动按钮的UIScrollView,则该按钮将定位在该中心,请参阅这些应用程序的第一个屏幕SOT 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
{
}
做这个:
在.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
现在,使用这些方法在你的滚动视图即scView加载在viewDidLoad方法按钮
- (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;
::
::
}
}