IOS-ScrollView创造Android-ViewPager效果

1.将图片放进images文件夹,并改名为images.bundle.拖进项目中

2拖动scrollView 并在左上角按住Scroll View 拖到View Controller中 选择deleagte.

这时候.指定Scroll View的代理为controller.

为指定的controller加上代理

#import <UIKit/UIKit.h>

@interface CSZViewController : UIViewController <UIScrollViewDelegate>

//ViewPager
@property (weak, nonatomic) IBOutlet UIScrollView *scrollView;

@end
@implementation CSZViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    int width=self.view.frame.size.width;
    int height=self.view.frame.size.height;

    //从bundle压缩文件中取出多页的内容路径
    NSString *bundlePath=[[NSBundle mainBundle] pathForResource:@"images" ofType:@"bundle"];
    NSBundle *bundle=[[NSBundle alloc] initWithPath:bundlePath];
    self.imagesArr=[bundle pathsForResourcesOfType:@"jpg" inDirectory:nil];
	self.scrollView.contentSize=CGSizeMake(self.imagesArr.count*width,height);

    //创建分页
    for (int i=0; i<self.imagesArr.count; i++) {
        UIImageView *itemImage=[[UIImageView alloc] init];
        itemImage.image=[UIImage imageWithContentsOfFile:self.imagesArr[i]];
        itemImage.frame=CGRectMake(i*width, 0, width, height);
        [self.scrollView addSubview:itemImage];
    }

    //消除滑动时出现的滑块
    self.scrollView.showsHorizontalScrollIndicator=NO;
    //使ViewPager富有弹性.分割每页
    self.scrollView.pagingEnabled=YES;
    //创建标识
    UIPageControl *ctr=[[UIPageControl alloc] init];
    ctr.bounds=CGRectMake(0, 0, 150, 50);
    ctr.center=CGPointMake(width*0.5, height-50);

    ctr.currentPageIndicatorTintColor=[UIColor redColor];
    ctr.pageIndicatorTintColor=[UIColor grayColor];
    ctr.currentPage=1;
    //声明指示器的个数。如果不设置将不显示
    ctr.numberOfPages=self.imagesArr.count;
    [ctr addTarget:self action:@selector(pageIndict:) forControlEvents:UIControlEventValueChanged];
    [self.view addSubview:ctr];
    //因为self.view已经绑定了一次,所以pageControl为弱引用
    self.pageControl=ctr;
}

#pragma mark 点击指示器 跳转ViewPager
- (IBAction)pageIndict:(id)sender
{
    int curr=self.pageControl.currentPage;
    NSLog(@"%d",curr);
    self.scrollView.contentOffset=CGPointMake(self.view.frame.size.width*curr, 0)
    ;
}

#pragma mark 当滑动ViewPager时停下来 让对应的指示器进行改变
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
    int offSetX=self.scrollView.contentOffset.x;
    int index=offSetX/self.view.frame.size.width;
    self.pageControl.currentPage=index;

}

@end

IOS-ScrollView创造Android-ViewPager效果,布布扣,bubuko.com

时间: 2024-10-24 11:53:59

IOS-ScrollView创造Android-ViewPager效果的相关文章

【Android界面实现】使用ScrollingTabsView实现有滑动标签的ViewPager效果

转载自:http://blog.csdn.net/zhaokaiqiang1992/article/details/40378285 在前面的文章中,我们使用支持包里面的PagerTabStrip实现了有滑动标签的viewPager效果,今天,再给大家介绍另外一种开源项目,来实现类似的效果. 在这篇文章中,我们将使用第三方开源项目ViewPagerExtensions实现. 先看效果 ViewPagerExtensions的github地址:https://github.com/astuetz/

Android开发之自定义HorizontalScrollView视图实现仿ViewPager效果

开发过程中,需要达到 HorizontalScrollView和ViewPager的效果,于是直接重写了HorizontalScrollView来达到实现ViewPager的效果. 实际效果图如下: (1)自定义HorizontalScrollView类:AppHorizontalScrollView实现: package com.czm.ui.view; import java.util.ArrayList; import android.content.Context; import and

ios:ScrollView联动效果

1.简单的效果 简单的代码 2.主要用到scrollViewDidScroll代理方法   代码如下 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { float bigX = _fScrollView.bounds.size.width/_sScrollView.bounds.size.width; float littleX = _sScrollView.bounds.size.width/_fScrollView.bounds

[移动开发] Android自定义控件系列六:自定义ViewGroup(一)实现ViewPager效果

今天我们开始新的Android自定组件旅程,下面一个内容是如何自定义一个ViewGoup,之前我们已经通过几篇博文已经了解了自定义view的基本写法,如果有不了解的同学,可以参看下面专栏中的文章:Android自定义控件. 这次同样也是通过一个例子来说明要如何自定义一个ViewGroup,最终目标就是要实现一个类ViewPager功能的ViewGroup. 我们先来看看最终效果: 对于系统的ViewGroup我们已经是十分熟悉了,最常用的LinearLayout和RelativeLayout几乎

Android–ViewPager切换动画,PageTransformer

transformPage(View view, float position) view就是滑动中的那个view,position这里是float类型,是当前滑动状态的一个表示,比如当滑动到正全屏时,position是0,如果前一页和下一页基本各在屏幕占一半时,前一页的position是-0.5,后一页的posiotn是0.5(是-0.5还是0.5要看当前的view是前面那一页的view还是后面那一页的),所以根据position的值我们就可以自行设置需要的alpha,x/y信息,就是可以用s

android ViewPager详解

Viewpager 在android界面布局中属于常用类型 ,它可以做导航,页面菜单,进入软件是的欢迎界面 等等.比现在最流行的几款手机软件  ,QQ,微信,微博 等 ,其主界面 都用到了ViewPager,所以学好它,势在必得 ,在这里总结了下, 先用图解 : 这是一个仿微博界面的xml布局 ,他们之间的关系经常搞混淆,怕记不住 ,总结了几句话:ViewPager里面含界面,它的改变控制(title)Imageview的变化,Textview控制页面,并间接控制Title(imageview)

Android ViewPager 用法

Android ViewPager 用法 场景:一般第一次打开应用程序时,程序会有一个提示页来给展现应用程序都有哪些功能:或者程序更新时,又更新哪些新特性,都可以使用ViewPager Demo 描述:实现三个界面的相互切换,页面颜色分别为红,绿,蓝 activity_main: 主界面只添ViewPager这一个控件 android:overScrollMode="never" 作用是当页面已经滑动到最左边或最右时,去掉阴影 <?xml version="1.0&qu

为什么ios系统比android系统更为流畅

1优先级别不同:iOS最先响应屏幕 不少人都反应苹果iPhone要比一般Android手机流畅,这是一个现象要说是大问题谈不上,毕竟两者是完全两个不同的系统所以严格来说放在一起对比是不公平的.不过因为Android以及iOS是当下两大主流操作系统,对比抗衡之类的说法自然难以避免.今天我们就来谈谈为什么iOS产品在使用过程中会让人觉得更加流畅一些,而为何一些Android手机则容易出现卡顿延迟的情况. iOS手机为什么比安卓流畅 优先级别不同:iOS最先响应屏幕 当我们使用iOS或者是Androi

android:ViewPager动画总结

设置动画的方案: 我们可以使用ViewPager的setPageTransformer方法,为ViewPager设置动画.以下是几种常见动画的演示及效果: 1.CubeInTransformer 2.CubeOutTransformer 2 3.FlipHorizontalTransformer 4.RotateUpTransformer 5.ZoomOutSlideTransformer 6.TabletTransformer 更多ViewPager的动画Demo请参见源代码: https:/

Android Blur效果之FastBlur

Blur 自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果,磨砂效果,各大系统就开始竞相模仿,这是一个怎样的效果呢,我们现来看一些图: 这些就是典型的Blur效果,在iOS和MIUI中还有很多,这里就不再贴图了. 实现 实现Blur效果主要有两种方式,一个是通过RenderScript来做,另一种是通过直接对像素点来进行算法处理. RenderScript是API11之后才引入的,所以对版本有限制,而且RenderScript确实挺复杂的,虽然使用他的Blur功能很简单,但是要真