1717#import " User.h"
1818
1919@interface CSHomeViewController (){
20- CSFeedItemCollectionViewDataSource *feedCollectionViewDataSource;
21- FeedItem *currentFeedItem;
22- NSString *currentURL;
20+ CSFeedItemCollectionViewDataSource *feedCollectionViewDataSource;
21+ FeedItem *currentFeedItem;
22+ NSString *currentURL;
2323}
2424
2525// / The collection view which holds the individual feed items
@@ -32,8 +32,9 @@ @implementation CSHomeViewController
3232
3333- (void )viewDidLoad
3434{
35- _feedItems = [[NSMutableSet alloc ] init ];
3635 [super viewDidLoad ];
36+ _feedItems = [[NSMutableSet alloc ] init ];
37+ [_pageControl_itemIndicator setUpFadesOnView: [_pageControl_itemIndicator superview ]];
3738 [self setUpCollectionView ];
3839 [self setUpWebView ];
3940 [self setupFeedItemObserver ];
@@ -68,7 +69,7 @@ - (void) setupFeedItemObserver
6869 _feedItems = [(CSFeedItemCollectionViewDataSource *)_collectionView_feedItems.dataSource feedItems ];
6970
7071 if (!new) {
71- NSLog (@" startup? " );
72+ NSLog (@" There are no feeds here " );
7273 } else {
7374 NSMutableArray *addedFeedItems = [[new allObjects ] mutableCopy ];
7475 NSMutableArray *removedFeedItems = [[old allObjects ] mutableCopy ];
@@ -84,7 +85,7 @@ - (void) setupFeedItemObserver
8485 [_feedItems addObject: item];
8586 }
8687
87- // Add call to button on custom page controller
88+ [_pageControl_itemIndicator.button_newItem setHidden: NO ];
8889 }
8990
9091 // redraw the collection with the changes to the feed items
@@ -94,7 +95,8 @@ - (void) setupFeedItemObserver
9495
9596 if (currentFeedItem){
9697 [self scrollToCurrentFeedItem ];
97- [self setPageControllerPageAtIndex: [feedCollectionViewDataSource.sortedFeedItems indexOfObject: currentFeedItem]];
98+ [_pageControl_itemIndicator setPageControllerPageAtIndex: [feedCollectionViewDataSource.sortedFeedItems indexOfObject: currentFeedItem]
99+ forCollection: _feedItems];
98100 }
99101 }
100102 insertionBlock: nil
@@ -106,6 +108,7 @@ - (void) setupFeedItemObserver
106108 removalBlock: nil
107109 replacementBlock: nil
108110 ];
111+ NSLog (@" observer added" );
109112}
110113
111114// Sets up collection view on controller start up
@@ -122,51 +125,16 @@ - (void)setUpCollectionView
122125 self.collectionView_feedItems .dataSource = feedCollectionViewDataSource;
123126 self.collectionView_feedItems .delegate = self;
124127
125- self.collectionView_feedItems .pagingEnabled = YES ;
126- self.pageControl_itemIndicator .currentPage = 0 ;
127-
128- UIButton *dot = [UIButton buttonWithType: UIButtonTypeInfoLight];
129- dot.frame = CGRectMake (10 ,(self.pageControl_itemIndicator .frame .size .height /2 )-5 , 12 , 12 );
130-
131- UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc ] initWithTarget: self action: @selector (newItemButton: )];
132- [dot addGestureRecognizer: singleTap];
133-
134- UIView *leftFade = [[UIView alloc ] init ];
135- leftFade.frame = CGRectMake (90 , 10 , 70 , 20 );
136- leftFade.backgroundColor = [UIColor blackColor ];
137-
138- CAGradientLayer *leftLayer = [CAGradientLayer layer ];
139- leftLayer.frame = leftFade.bounds ;
140- leftLayer.colors = [NSArray arrayWithObjects: (id )[UIColor whiteColor ].CGColor, (id )[UIColor clearColor ].CGColor, nil ];
141- leftLayer.startPoint = CGPointMake (0 .0f , 1 .0f );
142- leftLayer.endPoint = CGPointMake (1 .0f , 1 .0f );
143- leftFade.layer .mask = leftLayer;
144-
145- UIView *rightFade = [[UIView alloc ] init ];
146- rightFade.frame = CGRectMake (160 , 10 , 70 , 20 );
147- rightFade.backgroundColor = [UIColor blackColor ];
148128
149- CAGradientLayer *rightLayer = [CAGradientLayer layer ];
150- rightLayer.frame = rightFade.bounds ;
151- rightLayer.colors = [NSArray arrayWithObjects: (id )[UIColor whiteColor ].CGColor, (id )[UIColor clearColor ].CGColor, nil ];
152- rightLayer.startPoint = CGPointMake (1 .0f , 1 .0f );
153- rightLayer.endPoint = CGPointMake (0 .0f , 1 .0f );
154- rightFade.layer .mask = rightLayer;
155-
156-
157- [self .pageControl_itemIndicator addSubview: dot];
158- UIView *pageControllerMask = [self .pageControl_itemIndicator superview ];
159- [pageControllerMask addSubview: leftFade];
160- [pageControllerMask addSubview: rightFade];
161129}
162130
163131-(void )newItemButton : (id )sender
164132{
165133 currentFeedItem = [feedCollectionViewDataSource.sortedFeedItems firstObject ];
166134 [self scrollToCurrentFeedItem ];
167135 self.collectionCellGoingTo = 0 ;
168- [self setPageControllerPageAtIndex: [feedCollectionViewDataSource.sortedFeedItems indexOfObject: currentFeedItem]];
169- [sender setHidden: YES ];
136+ [_pageControl_itemIndicator setPageControllerPageAtIndex: [feedCollectionViewDataSource.sortedFeedItems indexOfObject: currentFeedItem]
137+ forCollection: _feedItems ];
170138}
171139
172140#pragma mark - IBActions
@@ -239,22 +207,8 @@ - (void)scrollToCurrentFeedItem
239207- (void )collectionView : (UICollectionView *)collectionView didEndDisplayingCell : (UICollectionViewCell *)cell forItemAtIndexPath : (NSIndexPath *)indexPath
240208{
241209 int newIndex = indexPath.row +((indexPath.row -self.collectionCellGoingTo )*-1 );
242- [self setPageControllerPageAtIndex: newIndex];
243- }
244-
245- - (void )setPageControllerPageAtIndex : (int )index
246- {
247- if ([_feedItems count ] < 6 ){
248- _pageControl_itemIndicator.currentPage = index;
249- } else {
250- if ( index < 3 ){
251- _pageControl_itemIndicator.currentPage = index;
252- } else if (index > ([_feedItems count ]-3 ) ){
253- _pageControl_itemIndicator.currentPage = 5 -([_feedItems count ]-index);
254- } else {
255- _pageControl_itemIndicator.currentPage = 2 ;
256- }
257- }
210+ [_pageControl_itemIndicator setPageControllerPageAtIndex: newIndex
211+ forCollection: _feedItems];
258212}
259213
260214- (void )loadFeedItemWebView
0 commit comments