This example for you to share the Objective-c translucent navigation of the specific implementation code for your reference, the specific contents are as follows
#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;
}
// Add navigation subview
-(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: @ "return" 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 = @ "My Home";
return lable;
}
-(UIButton *) rightBtn {
UIButton * btn = [UIButton buttonWithType: UIButtonTypeCustom];
btn.frame = CGRectMake ([UIScreen mainScreen] .bounds.size.width-100, 20, 80, 44);
[btn setTitle: @ "Save" forState: UIControlStateNormal];
[btn addTarget: self action: @selector (rightBtnClicked) forControlEvents: UIControlEventTouchUpInside];
return btn;
}
#pragma Event Handling Section
// Return to the previous interface
-(void) RSwenNavback {
// Get UIView's upper UIViewController
id object = [self nextResponder];
while (! [object isKindOfClass: [UIViewController class]] &&
object! = nil) {
object = [object nextResponder];
}
UIViewController * uc = (UIViewController *) object;
[uc.navigationController popViewControllerAnimated: YES];
}
// the right button is clicked
-(void) rightBtnClicked {
if ([_delegate respondsToSelector: @selector (RSwenNavrightBtnClicked)]) {
[_delegate RSwenNavrightBtnClicked];
}
}
@end
The above is the entire content of this article, I hope to help you learn.