IOS一个滚动视图的小例子(代码)

程序的大部分


@interface BIDViewController :UIViewController<UIScrollViewDelegate>


//可滚动页面

@property (retain,nonatomic) UIScrollView *scrollView;

//页点

@property (retain,nonatomic) UIPageControl *pageControl;

//保存图片的数组

@property (retain,nonatomic) NSMutableArray *imageArray;


@end





@implementation BIDViewController


- (void)viewDidLoad

{

    [superviewDidLoad];


    //创建可滑动视图

   UIScrollView *tempView = [[UIScrollViewalloc]initWithFrame:CGRectMake(0,0, 320, 460)];

   self.scrollView = tempView;

    [tempViewrelease];

    

    //创建页点

   UIPageControl *tempPage = [[UIPageControlalloc]initWithFrame:CGRectMake(0,420, 320, 36)];

    [tempPage setBackgroundColor:[UIColorclearColor]];

    [tempPagesetAlpha:1];

   self.pageControl = tempPage;

    //[tempPage release];

    

    //初始化数组,将图片压入数组

    self.imageArray = [NSMutableArrayarrayWithObjects:

                       [UIImageimageNamed:@"html5.png"],

                       [UIImageimageNamed:@"jQuery.png"],

                       [UIImageimageNamed:@"iphone1.png"],

                       [UIImageimageNamed:@"iphone2.png"],nil];

    //将滚动视图和翻页视图添加到视图中

    [self.viewaddSubview:self.scrollView];

    [self.viewaddSubview:self.pageControl];


    self.view.backgroundColor = [UIColorwhiteColor];

    [selfcreatesCrollView:nil];

    


}


#pragma ------创建视图区域----------

//创建滚动视图区域

- (void)createsCrollView:(id)sender

{

    //设置委托

   self.scrollView.delegate =self;

    //将是否取消对内容视图触摸的反应设为NO

    self.scrollView.canCancelContentTouches =NO;

    

    //设置滚动条类型

    self.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite;

    //是否可以缩放

    self.scrollView.scrollEnabled =YES;

    //是否可以进行页面切换

    self.scrollView.pagingEnabled =YES;

    

    

   NSUInteger page = 0;//为了记录页数

   int originX = 0;

    //填充滑动视图内容

   for (UIImage *imagein self.imageArray) {

        //首先创建一个视图

        UIImageView *imageview = [[UIImageViewalloc]initWithFrame:CGRectZero];

        //为这个图片设置适当位置

       CGRect rect ;

        rect.origin.x = originX;

        rect.origin.y =0;

        rect.size.width =self.scrollView.frame.size.width;

        rect.size.height =self.scrollView.frame.size.height;

        

        imageview.frame = rect;

        //设置图片为背景

        imageview.image = image;

        

       //添加到视图中

        [self.scrollViewaddSubview:imageview];

        [imageviewrelease];

        

        //确定下张图片开始的x坐标

        originX +=self.scrollView.frame.size.width;

        

       //记录页数

        page++;

        

    }

    

    //设置总页数

   self.pageControl.numberOfPages = page;

    //设置默认页为首页

    self.pageControl.currentPage =0;

    self.pageControl.tag =100;

    //为页数控制关联方法

    [self.pageControladdTarget:selfaction:@selector(changePage:)forControlEvents:UIControlEventValueChanged];

    

    //显示适当区域

    [self.scrollViewsetContentSize:CGSizeMake(originX,self.scrollView.frame.size.height)];

    

}


//点击小点切换页面

- (void)changePage:(id)sender

{

    //创建一个区域

   CGRect rect;

    rect.origin.x =self.pageControl.currentPage  *self.scrollView.frame.size.width;

    rect.origin.y =0;

    rect.size.width =self.scrollView.frame.size.width;

    rect.size.height =self.scrollView.frame.size.height;

    //设置滚动视图的可视区域

    [self.scrollViewscrollRectToVisible:rect animated:YES];

}



//重写滑动结束后的反应,就是把pageConteol的当前页跟随滑动而动

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView

{

    //取滚动视图区域的宽

   float orginX = self.scrollView.frame.size.width;

    //利用当前视图显示区域到view.frame的偏移量,来换算获取当前处在第几页

   int page = ((self.scrollView.contentOffset.x - orginX))/orginX +1;

    //当前页改为这一页。

   self.pageControl.currentPage = page;

    

}



自己写的代码,经检测未出错  ——LC

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS中,我们可以使用滚动视图(UIScrollView)来创建一个可以进行滚动的内容视图。在该滚动视图中添加按钮,可以通过以下步骤实现: 1. 创建滚动视图对象:使用`UIScrollView`类创建一个滚动视图对象,可以通过代码或者图形化界面编辑器进行创建。 2. 设置滚动范围:通过设置滚动视图的`contentSize`属性,确定滚动内容的大小。内容大小应该大于滚动视图的可见区域,这样才能进行滚动。例如,`scrollView.contentSize = CGSizeMake(320, 600)`。 3. 添加按钮:创建按钮对象,并设置按钮的位置和样式。例如,`UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(50, 50, 100, 50)]`。 4. 将按钮添加到滚动视图中:使用`addSubview`方法将按钮对象添加到滚动视图中。例如,`[scrollView addSubview:button]`。 5. 设置按钮的位置:通过设置按钮的`frame`属性,确定按钮在滚动视图中的位置。需要注意的是,按钮的位置是相对于滚动视图的坐标系的。例如,`button.frame = CGRectMake(50, 50, 100, 50)`。 6. 设置滚动视图的代理:如果需要监听按钮的点击事件,可以将滚动视图的`delegate`属性设置为当前的视图控制器,并实现`UIScrollViewDelegate`协议。例如,`scrollView.delegate = self`。 7. 监听按钮的点击事件:在滚动视图的代理方法中,根据需要实现按钮的点击事件处理逻辑。例如,对于点击事件的处理可以通过`UIButton`的`addTarget:action:forControlEvents:`方法或者手势识别器来完成。 以上就是在iOS中使用滚动视图添加按钮的基本步骤。根据需要,可以根据具体情况进行定制和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值