IOS代码笔记之仿电子书书架效果

2025-05-29 0 33

本文实例为大家分享了ios书架效果的具体实现代码,供大家参考,具体内容如下

一、效果图

IOS代码笔记之仿电子书书架效果

二、工程图

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;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持快网idc。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 IOS代码笔记之仿电子书书架效果 https://www.kuaiidc.com/93359.html

相关文章

发表评论
暂无评论