OBJECTIVE-C implementation of custom translucent navigation _ios

Source: Internet
Author: User


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.


Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.