Skip to content

Commit dfe8a9c

Browse files
committed
Update EasyGallery (added slide show funciton)
1 parent 31af80c commit dfe8a9c

9 files changed

+331
-58
lines changed

EasyGallery/Classes/EasyGalleryViewController.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
@property (nonatomic, retain) NSMutableArray* imageFiles;
2020
@property (nonatomic, retain) IBOutlet XCGalleryView* galleryView;
21+
- (IBAction)playSlideShow:(id)sender;
2122

2223
@end
2324

EasyGallery/Classes/EasyGalleryViewController.m

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ @implementation EasyGalleryViewController
2727
- (void)viewDidLoad {
2828
[super viewDidLoad];
2929

30-
self.galleryView.showcaseModeEnabled = YES;
30+
self.galleryView.showcaseModeEnabled = NO;
31+
self.galleryView.pageControlEnabled = NO;
32+
3133
}
3234

3335

@@ -50,7 +52,7 @@ - (void)viewDidUnload {
5052

5153
#pragma mark -
5254
#pragma mark XCGalleryViewDelegate
53-
-(NSInteger)numberViewsInGallery:(XCGalleryView*)galleryView
55+
-(NSInteger)numberImagesInGallery:(XCGalleryView*)galleryView
5456
{
5557
return [self.imageFiles count];
5658
}
@@ -60,4 +62,17 @@ -(UIImage*)galleryImage:(XCGalleryView*)galleryView filenameAtIndex:(NSUInteger)
6062
return [UIImage imageWithContentsOfFile:[self.imageFiles objectAtIndex:index]];
6163
}
6264

65+
-(void)galleryDidStopSlideShow:(XCGalleryView*)galleryView
66+
{
67+
NSLog(@"didStopSlideShow:");
68+
}
69+
70+
71+
#pragma mark -
72+
#pragma mark Event
73+
- (IBAction)playSlideShow:(id)sender
74+
{
75+
[self.galleryView startSlideShow];
76+
}
77+
6378
@end

EasyGallery/Classes/XCGalleryInnerScrollView.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,11 @@
1111

1212
@interface XCGalleryInnerScrollView : UIScrollView <UIScrollViewDelegate> {
1313

14+
UIImageView* imageView_;
1415
}
1516

17+
@property (nonatomic, retain) UIImageView* imageView;
18+
1619
+ (CGRect)zoomRectForScrollView:(UIScrollView *)scrollView
1720
withScale:(float)scale withCenter:(CGPoint)center;
1821

EasyGallery/Classes/XCGalleryInnerScrollView.m

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
@implementation XCGalleryInnerScrollView
1313

14+
@synthesize imageView = imageView_;
15+
1416
-(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
1517
{
1618
return [self.subviews objectAtIndex:0];
@@ -20,6 +22,8 @@ -(UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView
2022
-(id)initWithFrame:(CGRect)frame
2123
{
2224
if (self = [super initWithFrame:frame]) {
25+
26+
// setup scrollview
2327
// [self setUserInteractionEnabled:YES];
2428
self.delegate = self;
2529
self.minimumZoomScale = 1.0;
@@ -29,6 +33,18 @@ -(id)initWithFrame:(CGRect)frame
2933
self.backgroundColor = [UIColor blackColor];
3034
self.clipsToBounds = YES;
3135

36+
// setup imageview
37+
self.imageView =
38+
[[[UIImageView alloc] initWithFrame:self.bounds] autorelease];
39+
self.imageView.autoresizingMask =
40+
UIViewAutoresizingFlexibleLeftMargin |
41+
UIViewAutoresizingFlexibleWidth |
42+
UIViewAutoresizingFlexibleRightMargin |
43+
UIViewAutoresizingFlexibleTopMargin |
44+
UIViewAutoresizingFlexibleHeight |
45+
UIViewAutoresizingFlexibleBottomMargin;
46+
self.imageView.contentMode = UIViewContentModeScaleAspectFit;
47+
[self addSubview:self.imageView];
3248
}
3349
return self;
3450
}
@@ -64,4 +80,11 @@ - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
6480
// NSLog(@"offset: %@", NSStringFromCGPoint(self.contentOffset));
6581
}
6682

83+
- (void) dealloc
84+
{
85+
self.imageView = nil;
86+
[super dealloc];
87+
}
88+
89+
6790
@end

EasyGallery/Classes/XCGalleryView.h

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,13 @@
1111
@class XCGalleryView;
1212
@protocol XCGalleryViewDelegate
1313

14-
-(NSInteger)numberViewsInGallery:(XCGalleryView*)galleryView;
14+
-(NSInteger)numberImagesInGallery:(XCGalleryView*)galleryView;
1515
-(UIImage*)galleryImage:(XCGalleryView*)galleryView filenameAtIndex:(NSUInteger)index;
16+
-(void)galleryDidStopSlideShow:(XCGalleryView*)galleryView;
1617

1718
@end
1819

19-
20+
@class XCGalleryInnerScrollView;
2021
@interface XCGalleryView : UIView <UIScrollViewDelegate> {
2122

2223
NSInteger currentImageIndex_;
@@ -43,22 +44,22 @@
4344

4445
BOOL pageControlEnabled_;
4546
UIPageControl* pageControl_;
47+
48+
// slide show status
49+
BOOL isRunningSlideShow_;
50+
NSTimeInterval slideShowDuration_;
51+
NSTimer* timer_;
52+
XCGalleryInnerScrollView* transitionInnerScrollView_;
4653
}
4754

48-
@property (nonatomic, assign) NSInteger currentImageIndex;
49-
50-
@property (nonatomic, retain) UIScrollView* scrollView;
51-
@property (nonatomic, assign) NSInteger contentOffsetIndex;
52-
53-
@property (nonatomic, retain) NSMutableArray* innerScrollViews;
54-
55+
// public properties
5556
@property (nonatomic, assign) IBOutlet id <XCGalleryViewDelegate> delegate;
56-
5757
@property (nonatomic, assign) BOOL showcaseModeEnabled;
58-
@property (nonatomic, assign) CGSize showcaseMargin;
59-
@property (nonatomic, assign) CGSize viewSpacing;
60-
6158
@property (nonatomic, assign) BOOL pageControlEnabled;
62-
@property (nonatomic, retain) UIPageControl* pageControl;
59+
@property (nonatomic, assign) BOOL isRunningSlideShow;
60+
@property (nonatomic, assign) NSTimeInterval slideShowDuration;
61+
62+
// public methods
63+
- (void)startSlideShow;
6364

6465
@end

0 commit comments

Comments
 (0)