iOS 탐색 모음 모범 사례
제3자
FDFullscreenPopGesture
를 사용하여 사고방식을 설정하고 전역 내비게이션 표시줄 배경이나 그림, title baritem 색깔, 서로 다른 배경 title 한 줄에 전역 내비게이션 표시줄을 숨기고 자신의 페이지에view 아날로그 내비게이션을 쓴다.실제 프로젝트 운용, 다양한 전환을 표시하고 숨기는 데 이상이 없습니다.예를 들어 CKKShareVC가 있으면 특별한 내비게이션 표시줄이 필요합니다.작업 프로세스 1, 현재 페이지 처리
- (void)viewDidLoad {
[super viewDidLoad];
self.fd_prefersNavigationBarHidden = YES;
}
2. 기본 내비게이션 처리
#pragma mark - life cycle
+ (void)initialize {
[[UINavigationBar appearance] setTranslucent:NO];
NSDictionary *titleAttributeDict = @{NSForegroundColorAttributeName:[UIColor whiteColor],
NSFontAttributeName:[UIFont systemFontOfSize:18.0]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributeDict];
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"Main001"]
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
[[UINavigationBar appearance] setShadowImage:[[UIImage alloc] init]];
[[UINavigationBar appearance] setTintColor:[UIColor whiteColor]];
// UIBarButtonItem
UIBarButtonItem *item=[UIBarButtonItem appearance];
item.tintColor = [UIColor whiteColor];
NSDictionary *itemAttributeDict= @{NSFontAttributeName:[UIFont systemFontOfSize:15],
NSForegroundColorAttributeName : [UIColor whiteColor]};
[item setTitleTextAttributes:itemAttributeDict forState:UIControlStateNormal];
// backItem , , ,
// UIImage *originImage = [UIImage imageNamed:@"navback"];
// UIEdgeInsets insets = UIEdgeInsetsMake(0.0f, -10.0f, 0.0f, -10.0f);
// UIColor *fillColor = [UIColor clearColor];
// UIImage *backButtonImage = [originImage imageByInsetEdge:insets withColor:fillColor];
// [item setBackButtonBackgroundImage:[originImage resizableImageWithCapInsets:UIEdgeInsetsMake(0, 18, 0, 0) ]
// forState:UIControlStateNormal
// barMetrics:UIBarMetricsDefault];
// UIOffset minOffset =
// UIOffsetMake(NSIntegerMin, NSIntegerMin);
// [item setBackButtonTitlePositionAdjustment:minOffset
// forBarMetrics:UIBarMetricsDefault];
}
#pragma mark - view life cycle
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.delegate = self;
}
//
#pragma mark - Private Methods
#pragma mark -
#pragma mark Whether need Navigation Bar Hidden
- (BOOL) needHiddenBarInViewController:(UIViewController *)viewController {
BOOL needHideNaivgaionBar = NO;
/// CKKShareVC
if ([viewController isKindOfClass: NSClassFromString(@"CKKShareVC")]) {
needHideNaivgaionBar = YES;
}
return needHideNaivgaionBar;
}
#pragma mark - UINaivgationController Delegate
#pragma mark -
#pragma mark Will Show ViewController
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
// NavigationController ,
[self setNavigationBarHidden: [self needHiddenBarInViewController: viewController]
animated: animated];
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.