UIPageControl

来源:互联网 发布:u递app软件 编辑:程序博客网 时间:2024/04/29 11:47

UIPageControl
给图片添加可以动的点

AppDelegate.m

#import "AppDelegate.h"#import "RootViewController.h"@interface AppDelegate ()@end@implementation AppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    // Override point for customization after application launch.    self.window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];    self.window.backgroundColor=[UIColor whiteColor];    [self.window makeKeyAndVisible];    [_window release];    RootViewController *vc=[[RootViewController alloc] init];    self.window.rootViewController=vc;    [vc release];    return YES;}

RootViewController.m

#import "RootViewController.h"#define HEIGHT self.view.frame.size.height#define WIDTH self.view.frame.size.width@interface RootViewController ()<UIScrollViewDelegate>@property(nonatomic,retain)UIScrollView *scrollView;@property(nonatomic,retain)UIPageControl *page;@end@implementation RootViewController-(void)dealloc{    [_scrollView release];    [_page release];    [super dealloc];}- (void)viewDidLoad {    [super viewDidLoad];    // Do any additional setup after loading the view.    self.view.backgroundColor=[UIColor cyanColor];    self.scrollView=[[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, HEIGHT/2+100)];    [self.view addSubview:self.scrollView];    [_scrollView release];    self.scrollView.pagingEnabled=YES;    self.scrollView.contentSize=CGSizeMake(7*WIDTH, 0);    for (NSInteger i = 1; i<8; i++) {        NSString *imageName=[NSString stringWithFormat:@"h%ld.jpeg",i];        UIImage *image=[UIImage imageNamed:imageName];        UIImageView *imageView=[[UIImageView alloc] initWithFrame:CGRectMake(WIDTH*(i-1), 0, WIDTH, HEIGHT/2+100)];        imageView.image=image;        [_scrollView addSubview:imageView];        [imageView release];    }    self.page=[[UIPageControl alloc] initWithFrame:CGRectMake(100, HEIGHT/2+100, 150, 40)];    self.page.backgroundColor=[UIColor orangeColor];    [self.view addSubview:self.page];    [self.page release];    //点的个数    self.page.numberOfPages=7;    //其他点的颜色    self.page.pageIndicatorTintColor=[UIColor redColor];    //当前点的颜色    self.page.currentPageIndicatorTintColor=[UIColor blackColor];    [self.page addTarget:self action:@selector(changePage:) forControlEvents:UIControlEventValueChanged];    self.scrollView.delegate=self;    //设置最大缩放比例    self.scrollView.maximumZoomScale=2;    //设置最小的缩放比例    self.scrollView.minimumZoomScale=0.5;}
//控制缩放的方法-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{    UIView *view=scrollView.subviews[(NSInteger)scrollView.contentOffset.x/(NSInteger)WIDTH];    //只要进行缩放,系统就会修改scrollView的contentSize的值,所以当缩小之后,没办法进行拖拽    NSLog(@"%g",scrollView.contentSize.width);    return view;}
//滑动图片点跟着动-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{    self.page.currentPage=scrollView.contentOffset.x/WIDTH;}
//移动点图片滑动-(void)changePage:(UIPageControl *)page{    //偏移量  self.scrollView.contentOffset=CGPointMake(WIDTH*page.currentPage, 0);}
0 0
原创粉丝点击