iOS --自定义导航栏
2016-02-23 00:00
405 查看
自定义导航栏 JPNavigationBar,继承UINavigationBar
实现统一设置导航栏左右按钮偏移量距离屏幕方案一:自定义左右导航栏按钮,判断如果是左右按钮,然后修改左右按钮的frame
#import "JPNavigationBar.h"#import "JPNavigationLeftItem.h" // 自定义类继承UIButton#import "JPNavigationRightItem.h" // 自定义类继承UIButton#import "UIView+Frame.h" // 分类,快速修改frame#define KMargin 8@implementation JPNavigationBar- (void)layoutSubviews{ [super layoutSubviews]; for (UIView *view in self.subviews) { // 1、设置导航左边按钮的间距 if ([view isKindOfClass:[JPNavigationLeftButton class]]) { view.x = KMargin; } // 2、设置导航按钮右边按钮的间距 if ([view isKindOfClass:[JPNavigationRightButton class]]) { view.x = self.width - KMargin - view.width; } }
方案二:通过frame判断,导航栏左右按钮,然后修改左右按钮的frame
#import "JPNavigationBar.h"@implementation JPNavigationBar/** * 调整子控件布局 */- (void)layoutSubviews { [super layoutSubviews]; for (UIButton *button in self.subviews) { if (![button isKindOfClass:[UIButton class]]) continue; if (button.centerX < self.width * 0.5) { // 左边的按钮 button.x = 0; } else if (button.centerX > self.width * 0.5) { // 右边的按钮 button.x = self.width - button.width; } } }@end
相关文章推荐
- IOS 一行代码实现打开一个网页
- IOS 开发 证书显示 此证书签发者无效 解决办法
- iOS Provisioning Profile(Certificate)与Code Signing
- 【iOS学习笔记 16-2-22】iOS多线程知识总结
- iOS 开发小记 (十)
- iOS Facebook 最新最简单快速分享方法
- iOS 图像之生成多彩颜色
- iOS(学习5) 布局
- iOS 手势(下)
- iOS / OXS LeanCloud云存储方案简单测试记录
- iOS(学习7) 模态推送
- IOS基础之 (十) 内存管理
- iOS 数据存储的常用方式
- ios-基础用法之【6】-self. 与 下划线的区别
- iOS 手势(上)
- iOS下86版五笔输入法练习程序(作为备忘,最基本功能的演示demo,版本:0.99版)
- iOS开发中 [[NSBundle mainBundle] pathForResource: ofType:]路径为空的问题
- iOS 加密(MD5 ,AES,BASE64)
- ios-基础用法之【5】-define和const
- iOS 分类和继承