本文实例为大家分享了ios书架效果的具体实现代码,供大家参考,具体内容如下
一、效果图
二、工程图
三、代码
rootviewcontroller.h
1
2
3
4
5
6
7
8
9
10
|
#import <uikit/uikit.h> @interface rootviewcontroller : uiviewcontroller <uitableviewdatasource,uitableviewdelegate> { nsmutablearray * dataarray; uitableview * mytableview; } @end |
rootviewcontroller.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
|
#import "rootviewcontroller.h" //cell #import "roottableviewcell.h" @interface rootviewcontroller () @end @implementation rootviewcontroller - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil { self = [super initwithnibname:nibnameornil bundle:nibbundleornil]; if (self) { // custom initialization } return self; } - ( void )viewdidload { [super viewdidload]; // do any additional setup after loading the view. //初始化背景图 [self initbackgroundview]; } #pragma -mark -functions -( void )initbackgroundview { self.title=@ "书架页面" ; dataarray=[[nsmutablearray alloc]initwithobjects:@ "1" ,@ "2" ,@ "3" ,@ "4" ,@ "5" ,@ "6" ,@ "7" ,@ "8" ,@ "9" , nil]; mytableview = [[uitableview alloc]initwithframe:cgrectmake(0, 0, 320, 416) style:uitableviewstyleplain]; mytableview.delegate = self; mytableview.datasource = self; [self.view addsubview:mytableview]; } #pragma -mark -uitableviewdelegate -(nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section { return 3; } -(cgfloat)tableview:(uitableview *)tableview heightforrowatindexpath:(nsindexpath *)indexpath { return 376/3; } -(uitableviewcell*)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { roottableviewcell * cell = [tableview dequeuereusablecellwithidentifier:@ "id" ]; if (cell == nil) { cell =[[roottableviewcell alloc]initwithstyle:uitableviewcellstylevalue1 reuseidentifier:@ "id" ]; } cell.tag = indexpath.row; [cell.bookleft addtarget:self action:@selector(buttonclick:) forcontrolevents:uicontroleventtouchupinside]; [cell.bookmiddle addtarget:self action:@selector(buttonclick:) forcontrolevents:uicontroleventtouchupinside]; [cell.bookright addtarget:self action:@selector(buttonclick:) forcontrolevents:uicontroleventtouchupinside]; [cell.bookleft setbackgroundimage:[uiimage imagenamed:[nsstring stringwithformat:@ "%@.jpg" ,[dataarray objectatindex:indexpath.row*3]]] forstate:uicontrolstatenormal]; [cell.bookmiddle setbackgroundimage:[uiimage imagenamed:[nsstring stringwithformat:@ "%@.jpg" ,[dataarray objectatindex:indexpath.row*3+1]]] forstate:uicontrolstatenormal]; [cell.bookright setbackgroundimage:[uiimage imagenamed:[nsstring stringwithformat:@ "%@.jpg" ,[dataarray objectatindex:indexpath.row*3+2]]] forstate:uicontrolstatenormal]; nslog(@ "--celll.tag--%ld" ,cell.tag); return cell; } #pragma -mark -doclickactions -( void )buttonclick:(uibutton*)btn { roottableviewcell * cell = (roottableviewcell *)[[btn superview] superview]; nsindexpath * path = [mytableview indexpathforcell:cell]; nslog(@ "--点击图片的时候,所在的坐标-(%ld,%ld)--" ,path.row,btn.tag); } - ( void )didreceivememorywarning { [super didreceivememorywarning]; // dispose of any resources that can be recreated. } @end |
roottableviewcell.h
1
2
3
4
5
6
7
|
#import <uikit/uikit.h> @interface roottableviewcell : uitableviewcell @property(nonatomic,strong) uibutton * bookleft; @property(nonatomic,strong) uibutton * bookmiddle; @property(nonatomic,strong) uibutton * bookright; @end |
roottableviewcell.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
|
#import "roottableviewcell.h" @implementation roottableviewcell @synthesize bookleft; @synthesize bookmiddle; @synthesize bookright; - (id)initwithstyle:(uitableviewcellstyle)style reuseidentifier:(nsstring *)reuseidentifier { self = [super initwithstyle:style reuseidentifier:reuseidentifier]; if (self) { // initialization code uiimageview * imageview= [[uiimageview alloc]initwithframe:cgrectmake(0, 0, 320, 416/3)]; imageview.image = [uiimage imagenamed:@ "bookshelfcell.png" ]; [self addsubview:imageview]; bookleft = [uibutton buttonwithtype:uibuttontypecustom]; bookleft.frame = cgrectmake(10, 10, 280/3, 376/3-20); bookleft.tag = 1; bookmiddle = [uibutton buttonwithtype:uibuttontypecustom]; bookmiddle.frame = cgrectmake(20+280/3, 10, 280/3, 376/3-20); bookmiddle.tag = 2; bookright = [uibutton buttonwithtype:uibuttontypecustom]; bookright.frame = cgrectmake(30+280/3*2, 10, 280/3, 376/3-20); bookright.tag = 3; [self addsubview:bookleft]; [self addsubview:bookmiddle]; [self addsubview:bookright]; } return self; } |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。