#import "MainViewController.h"
#define WIDTH self.view.frame.size.width
#define HEIGHT self.view.frame.size.height
#import "SecondViewController.h"
@interface MainViewController ()
@end
@implementation MainViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
self.title = @"相册";
self.navigationController.navigationBar.translucent = NO;
for (NSInteger i = 1; i < 4; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0,(HEIGHT-64)/3 * (i-1) , WIDTH /2 , (HEIGHT-64) /3);
NSString *picName = [NSString stringWithFormat:@"%ld.jpg",2*i-1];
[button setImage:[UIImage imageNamed:picName] forState:UIControlStateNormal];
[self.view addSubview:button];
[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
button.tag = 1000+ 2*i-1 ;
}
for (NSInteger i = 1; i < 4 ; i++) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(WIDTH/2,(HEIGHT-64)/3 * (i-1) , WIDTH /2 , (HEIGHT-64) /3 );
NSString *picName = [NSString stringWithFormat:@"%ld.jpg",2*i];
[button setImage:[UIImage imageNamed:picName] forState:UIControlStateNormal];
[self.view addSubview:button];
[button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
button.tag = 1000 + 2*i;
}
}
-(void)click:(UIButton *)button
{
for (NSInteger i = 1001 ; i < 1007 ; i++) {
if (button.tag == i ) {
SecondViewController *secondVC = [[SecondViewController alloc] init];
[self.navigationController pushViewController:secondVC animated:YES];
secondVC.num = i -1001;
secondVC.str = [NSString stringWithFormat:@"%ld",i-1000];
[secondVC release];
}
}
}
#import <UIKit/UIKit.h>
@interface SecondViewController : UIViewController
@property(nonatomic, assign)NSInteger num;
@property(nonatomic, copy)NSString *str;
@end
#import "SecondViewController.h"
#define WIDTH self.view.frame.size.width
#define HEIGHT self.view.frame.size.height
@interface SecondViewController ()<UIScrollViewDelegate>
@property(nonatomic, retain)UIScrollView *scrollView;
@end
@implementation SecondViewController
- (void)dealloc
{
[_str release];
[_scrollView release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor = [UIColor whiteColor];
self.scrollView = [[UIScrollView alloc] initWithFrame:self.view.frame];
self.scrollView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:self.scrollView];
[_scrollView release];
[self.view bringSubviewToFront:self.scrollView];
self.scrollView.contentSize = CGSizeMake(WIDTH * 6, HEIGHT);
self.scrollView.showsHorizontalScrollIndicator = NO;
self.scrollView.bounces = NO;
self.scrollView.pagingEnabled = YES;
self.scrollView.delegate = self;
for (NSInteger i = 1 ; i < 7 ; i++) {
NSString *picName = [NSString stringWithFormat:@"%ld.jpg",i];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:picName]];
imageView.frame = CGRectMake(WIDTH*(i-1), 0, WIDTH, HEIGHT );
[self.scrollView addSubview:imageView];
}
UIPageControl *page = [[UIPageControl alloc] initWithFrame:CGRectMake(80, 550, 200, 30)];
page.backgroundColor = [UIColor cyanColor];
page.numberOfPages = 6;
page.currentPageIndicatorTintColor = [UIColor whiteColor];
page.pageIndicatorTintColor = [UIColor lightGrayColor];
page.currentPage = self.num;
[self.view addSubview:page];
[page release];
page.tag = 1000;
[page addTarget:self action:@selector(click:) forControlEvents:UIControlEventValueChanged];
for (NSInteger i = 1; i < 7 ; i++) {
NSString *title = [NSString stringWithFormat:@"%ld",i];
if ([self.str isEqualToString:title]) {
self.scrollView.contentOffset = CGPointMake(WIDTH * (i -1), 0);
NSString *newtitle = [NSString stringWithFormat:@"第%ld页",i];
self.title = newtitle;
}
}
}
-(void)click:(UIPageControl *) page
{
[self.scrollView setContentOffset:CGPointMake(WIDTH * page.currentPage, 0) animated:YES];
NSInteger num = self.scrollView.contentOffset.x / WIDTH + 1;
NSString *title = [NSString stringWithFormat:@"第%ld页",num];
self.title = title;
}
-(void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView
{
}
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
UIPageControl *page = (UIPageControl *)[self.view viewWithTag:1000];
NSString *title = [NSString stringWithFormat:@"第%g页",self.scrollView.contentOffset.x / WIDTH + 1];
self.title = title;
page.currentPage = self.scrollView.contentOffset.x / WIDTH;
}