forked from danielctull/DTGridView
-
Notifications
You must be signed in to change notification settings - Fork 0
/
DTInfiniteGridViewExampleViewController.m
101 lines (88 loc) · 2.88 KB
/
DTInfiniteGridViewExampleViewController.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
//
// DTInfiniteGridViewExampleViewController.m
// DTKit
//
// Created by Daniel Tull on 11.08.2009.
// Copyright 2009 Daniel Tull. All rights reserved.
//
#import "DTInfiniteGridViewExampleViewController.h"
@implementation DTInfiniteGridViewExampleViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"DTInfinteGridView";
self.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.view.autoresizesSubviews = YES;
gridView = [[DTInfiniteGridView alloc] initWithFrame:self.view.bounds];
gridView.autoresizingMask = self.view.autoresizingMask;
gridView.dataSource = self;
gridView.infiniteVerticalScrolling = NO;
gridView.infiniteHorizontalScrolling = YES;
gridView.delegate = self;
gridView.pagingEnabled = NO;
[self.view addSubview:gridView];
}
/*
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];
}
*/
/*
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Return YES for supported orientations
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
*/
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
#if __has_feature(objc_arc)
#else
- (void)dealloc {
[super dealloc];
}
#endif
- (NSInteger)numberOfRowsInGridView:(DTGridView *)gridView {
return 1;
}
- (NSInteger)numberOfColumnsInGridView:(DTGridView *)gridView forRowWithIndex:(NSInteger)index {
return 4;
}
- (CGFloat)gridView:(DTGridView *)gv heightForRow:(NSInteger)rowIndex {
return gv.frame.size.height;
}
- (CGFloat)gridView:(DTGridView *)gv widthForCellAtRow:(NSInteger)rowIndex column:(NSInteger)columnIndex {
return gv.frame.size.width / 2;
}
- (DTGridViewCell *)gridView:(DTGridView *)gv viewForRow:(NSInteger)rowIndex column:(NSInteger)columnIndex {
#if __has_feature(objc_arc)
DTGridViewCell *view = [gv dequeueReusableCellWithIdentifier:@"cell"];
#else
DTGridViewCell *view = [[gv dequeueReusableCellWithIdentifier:@"cell"] retain];
#endif
if (!view)
view = [[DTGridViewCell alloc] initWithReuseIdentifier:@"cell"];
if (columnIndex == 0)
view.backgroundColor = [UIColor redColor];
else if (columnIndex == 1)
view.backgroundColor = [UIColor blueColor];
else if (columnIndex == 2)
view.backgroundColor = [UIColor orangeColor];
else if (columnIndex == 3)
view.backgroundColor = [UIColor yellowColor];
else
NSLog(@"%@:%@ FAIL: %i", self, NSStringFromSelector(_cmd), columnIndex);
#if __has_feature(objc_arc)
return view;
#else
return [view autorelease];
#endif
}
@end