Objective-C实现自定义的半透明导航

2025-05-29 0 36

本文实例为大家分享了Objective-C半透明导航的具体实现代码,供大家参考,具体内容如下

?

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
#define kScreenWidth [[UIScreen mainScreen] bounds].size.width

#define kScreenHeight [[UIScreen mainScreen] bounds].size.height

#import "RSwenNav.h"

@implementation RSwenNav

{

UIVisualEffectView *effectview;

}

-(instancetype)initWithFrame:(CGRect)frame{

self=[super initWithFrame:frame];

if (self) {

UIBlurEffect *blur = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];

effectview = [[UIVisualEffectView alloc] initWithEffect:blur];

effectview.frame=frame;

[self addSubview:effectview];

[self addSubviews];

}

return self;

}

//添加导航子视图

-(void)addSubviews{

[self addSubview:self.backBtn];

[self addSubview:self.titleLabel];

[self addSubview:self.rightBtn];

}

-(UIButton *)backBtn{

UIButton * btn=[UIButton buttonWithType:UIButtonTypeCustom];

btn.frame=CGRectMake(20, 20, 60, 44);

[btn setTitle:@"返回" forState:UIControlStateNormal];

[btn addTarget:self action:@selector(RSwenNavback) forControlEvents:UIControlEventTouchUpInside];

return btn;

}

-(UILabel *)titleLabel{

UILabel * lable=[[UILabel alloc]init];

lable.font=[UIFont systemFontOfSize:17];

lable.textAlignment=NSTextAlignmentCenter;

lable.frame=CGRectMake(100, 20, kScreenWidth-200, 44);

lable.text=@"我的主页";

return lable;

}

-(UIButton *)rightBtn{

UIButton * btn=[UIButton buttonWithType:UIButtonTypeCustom];

btn.frame=CGRectMake([UIScreen mainScreen].bounds.size.width-100, 20, 80, 44);

[btn setTitle:@"保存" forState:UIControlStateNormal];

[btn addTarget:self action:@selector(rightBtnClicked) forControlEvents:UIControlEventTouchUpInside];

return btn;

}

#pragma 事件处理部分

//返回上个界面

-(void)RSwenNavback{

//获取UIView的上层UIViewController

id object = [self nextResponder];

while (![object isKindOfClass:[UIViewController class]] &&

object != nil) {

object = [object nextResponder];

}

UIViewController *uc=(UIViewController*)object;

[uc.navigationController popViewControllerAnimated:YES];

}

//右侧按钮被点击

-(void)rightBtnClicked{

if ([_delegate respondsToSelector:@selector(RSwenNavrightBtnClicked)]) {

[_delegate RSwenNavrightBtnClicked];

}

}

@end

以上就是本文的全部内容,希望对大家的学习有所帮助。

收藏 (0) 打赏

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

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

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

快网idc优惠网 建站教程 Objective-C实现自定义的半透明导航 https://www.kuaiidc.com/93987.html

相关文章

发表评论
暂无评论