SYNavigationViewController自定义导航控

2017-10-17  本文已影响19人  番薯大佬

SYNavigationViewController可以自定义不同样式的导航栏样式的导航栏视图控制器(有push动画效果)。
使用继承UINavigationContoller的封装类SYNavigationController,便于设置自定义的导航栏样式,效果优于使用未封装UINavigationContoller时的效果。

自定义导航样式自定义导航样式 自定义转场动画自定义转场动画

代码示例

// 导入头文件
#import "SYNavigationController.h"
// 定义根视图
ViewController *rootVC = [[ViewController alloc] init];
SYNavigationController *rootNav = [[SYNavigationController alloc] initWithRootViewController:rootVC];
rootNav.showBackBarButtonItem = YES;
rootNav.transferNavigationBarAttributes = NO;
rootVC.showCancelBarButtonItem = YES;

// 修改导航栏样式
[self navigationStyleWithBackgroundColor:[UIColor brownColor] buttonColor:[UIColor yellowColor] titleColor:[UIColor greenColor] titleFont:[UIFont systemFontOfSize:12.0]];

// 修改状态栏样式
- (UIStatusBarStyle)preferredStatusBarStyle
{
    // 黑色字体UIStatusBarStyleDefault、白色字体UIStatusBarStyleLightContent
    return UIStatusBarStyleDefault;
}

注意事项:
获取视图控制器数组
// 错误方法
NSLog(@"%@ 是 %@ 中的第 %@ 个视图控制器", self, @(self.navigationController.viewControllers.count), @([self.navigationController.viewControllers indexOfObject:self]));

// 正确方法
NSLog(@"%@ 是 %@ 中的第 %@ 个视图控制器", self, @(self.sy_navigationController.sy_viewControllers.count), @([self.sy_navigationController.sy_viewControllers indexOfObject:self]));

上一篇 下一篇

猜你喜欢

热点阅读