Skip to content

Commit d7ac754

Browse files
committed
adding captions underneath each cover (just the corresponding cover number for now)
1 parent 8d52131 commit d7ac754

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

OpenFlow/AFOpenFlowView.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
NSMutableDictionary *onscreenCovers;
3939
NSMutableDictionary *coverImages;
4040
NSMutableDictionary *coverImageHeights;
41+
NSMutableDictionary *coverImageCaptions;
4142
UIImage *defaultImage;
4243
CGFloat defaultImageHeight;
4344

@@ -47,6 +48,7 @@
4748
int beginningCover;
4849

4950
AFItemView *selectedCoverView;
51+
UITextView *selectedCoverCaption;
5052

5153
CATransform3D leftTransform, rightTransform;
5254

OpenFlow/AFOpenFlowView.m

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ - (void)setUpInitialState {
6868
// Create data holders for onscreen & offscreen covers & UIImage objects.
6969
coverImages = [[NSMutableDictionary alloc] init];
7070
coverImageHeights = [[NSMutableDictionary alloc] init];
71+
coverImageCaptions = [[NSMutableDictionary alloc] init];
7172
offscreenCovers = [[NSMutableSet alloc] init];
7273
onscreenCovers = [[NSMutableDictionary alloc] init];
7374

@@ -96,6 +97,18 @@ - (void)setUpInitialState {
9697
CATransform3D sublayerTransform = CATransform3DIdentity;
9798
sublayerTransform.m34 = -0.01;
9899
[self.layer setSublayerTransform:sublayerTransform];
100+
101+
// Initialize Cover Caption
102+
selectedCoverCaption = [[UITextView alloc] init];
103+
selectedCoverCaption.text = @"Hello";
104+
selectedCoverCaption.textColor = [UIColor whiteColor];
105+
selectedCoverCaption.textAlignment = UITextAlignmentCenter;
106+
selectedCoverCaption.frame = CGRectMake(0, 0, 100, 100);
107+
selectedCoverCaption.backgroundColor = nil;
108+
selectedCoverCaption.userInteractionEnabled = NO;
109+
[self addSubview:selectedCoverCaption];
110+
// TODO: restrict touches to nonText area
111+
99112
}
100113

101114
- (AFItemView *)coverForIndex:(int)coverIndex {
@@ -137,7 +150,8 @@ - (void)layoutCover:(AFItemView *)aCover selectedCover:(int)selectedIndex animat
137150
CGPoint newPosition;
138151

139152
newPosition.x = halfScreenWidth + aCover.horizontalPosition;
140-
newPosition.y = halfScreenHeight + aCover.verticalPosition;
153+
// TODO: change based on proportion?
154+
newPosition.y = halfScreenHeight + aCover.verticalPosition - 20;
141155
if (coverNumber < selectedIndex) {
142156
newPosition.x -= CENTER_COVER_OFFSET;
143157
newTransform = leftTransform;
@@ -213,6 +227,7 @@ - (void)dealloc {
213227

214228
[coverImages release];
215229
[coverImageHeights release];
230+
[coverImageCaptions release];
216231
[offscreenCovers removeAllObjects];
217232
[offscreenCovers release];
218233

@@ -243,6 +258,15 @@ - (void)layoutSubviews
243258
else
244259
[self setSelectedCover:targetCover];
245260
}
261+
262+
// TODO: constant (50 = .5 * width of text box)
263+
CGFloat horizOrigin = contentOffset.x + halfScreenWidth - 50;
264+
CGFloat vertOrigin = selectedCoverView.frame.origin.y + selectedCoverView.frame.size.width + 10;
265+
selectedCoverCaption.frame = CGRectMake(horizOrigin, vertOrigin, 100, 100);
266+
selectedCoverCaption.text = [NSString stringWithFormat:@"%@", [coverImageCaptions objectForKey:[NSNumber numberWithInt:targetCover]]];
267+
// put it on top
268+
[self addSubview:selectedCoverCaption];
269+
246270
}
247271

248272
#pragma mark UIScrollViewDelegate
@@ -367,6 +391,7 @@ - (void)setImage:(UIImage *)image forIndex:(int)index {
367391
NSNumber *coverNumber = [NSNumber numberWithInt:index];
368392
[coverImages setObject:imageWithReflection forKey:coverNumber];
369393
[coverImageHeights setObject:[NSNumber numberWithFloat:image.size.height] forKey:coverNumber];
394+
[coverImageCaptions setObject:coverNumber forKey:coverNumber];
370395

371396
// If this cover is onscreen, set its image and call layoutCover.
372397
AFItemView *aCover = (AFItemView *)[onscreenCovers objectForKey:[NSNumber numberWithInt:index]];

0 commit comments

Comments
 (0)