RKTabView 1.0.3

RKTabView 1.0.3

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年9月

Rafael Kayumov维护。



RKTabView 1.0.3

  • 作者:
  • Rafael Kayumov

RKTabView - iOS上的易于应用的工具栏/标签栏组件

BackgroundImage

RKTabView提供了创建具有自定义行为、功能和外观的工具栏的机会。标准iOS组件如UITabBarUIToolbar有时无法按需自定义,并且总是以某种方式行为。与它们不同,该组件可以随时在任何地方安装,但最重要的是 - 所有可能的元素外观和行为都可以不同。想象一下,部分栏应该像UITabBar(一个打开 - 其他关闭),第二部分应该作为切换器(任何元素都可以独立打开或关闭),第三部分则是普通的按钮。所有这些都可以使用RKTabView完成。

特性

元素和行为

  • 元素创建和行为定制

    创建3种类型的元素

    • 可排除元素(与UITabBar元素相同。一个打开 - 其他关闭)
    • 不可排除元素(可以被独立打开或关闭)
    • 按钮元素(像普通按钮一样工作)
      为此,使用3种初始化方法之一。初始化方法需要为“启用”和“禁用”状态提供元素图像。对于“按钮元素”,初始化方法还需要目标函数。
  • 轻松将元素放入标签视图中
    无需担心元素大小、位置和其他外观问题。将元素数组传递给标签视图就足够了。
  • 标签视图代理
    通过代理实现交互。应指定代理参数。代理方法会告诉哪个元素(元素的索引)的状态发生了变化。

外观

  • 可定制视图(从UIView派生的RKTabView子类)
  • 栏项目自动定位
    栏区域被等分在元素之间。所有元素的高度都与标签视图相同。
  • 自动调整大小
    所有元素都设置为调整其大小。
  • 分隔线
    选项允许打印顶部和底部的分隔线以分离内容。
  • 可定制的水平内边距
    可以指定边缘和内容之间的距离。
  • 标记元素
    选项允许使用较深的背景色标记“启用”元素。
  • 选中背景颜色
    此选项允许指定背景色,该颜色将在元素处于“启用”状态时应用于元素。可以指定整个标签视图或单独的元素。
  • 元素背景色
    任何元素都可以有它自己的背景色。
  • 元素内容
    元素图像通常位于中心并保持原始大小。

标题

  • 带标题的元素
    可以为任何元素指定标题。
  • 标题字体
    可以为整个标签视图或单独的元素指定标题字体。
  • 标题颜色
    可以为整个标签视图或单独的元素指定标题字体颜色。

添加到项目中

作为Pod添加

CocoaPods是将RKTabView集成到您的项目的推荐方式。

  • 只需将以下行添加到您的Podfile文件中:pod 'RKTabView', '~> 1.0.0'
  • 运行pod install
  • 使用#import <RKTabView.h>将其包含在任何需要使用它的地方。

手动添加

  • RKTabViewRKTabItem .h .m文件添加到您的项目中(总共添加4个文件)。
  • 包含RKTabView.h(使用#import "RKTabView.h")。

使用方法

步骤1 - 创建标签项

标签项有3种初始化方法。每种方法用于特定的标签项类型。

使用'createUsualItemWithImageEnabled:imageDisabled:'类方法创建标准元素(一个开启,其余关闭)

RKTabItem *tabItem = [RKTabItem createUsualItemWithImageEnabled:(UIImage *) imageDisabled:(UIImage *)];

使用'createUnexcludableItemWithImageEnabled:imageDisabled:'类方法创建独立元素(可以独立开启或关闭)

RKTabItem *tabItem = [RKTabItem createUnexcludableItemWithImageEnabled:(UIImage *) imageDisabled:(UIImage *)];

应指定启用和禁用图像。如果启用图像为nil,则将使用禁用图像。

要使项立即启用,请将tabState属性设置为TabStateEnabled

使用'createButtonItemWithImage:target:selector:'类方法创建按钮元素

RKTabItem *tabItem = [RKTabItem createButtonItemWithImage:(UIImage *) target:(id) selector:(SEL)];

需要指定目标和方法选择器。此项充当一个普通的UIButton。

应将项收集到一个数组中,并传递给RKTabView的tabItems属性。参见下文。

步骤2 - 创建标签视图

使用'initWithFrame:andTabItems:'方法初始化RKTabView

RKTabView *tabView = [[RKTabView alloc] initWithFrame:(CGRect) andTabItems:(NSArray *)];

您可以使用标准的'initWithFrame:'方法,稍后传递tabItems数组。

RKTabView *tabView = [[RKTabView alloc] initWithFrame:(CGRect)];
tabView.tabItems = @[item1, item2, item3, ...];

要将标签视图显示出来,请将其添加到视图的子视图中

[self.view addSubview:tabView];

可以在Interface Builder中创建标签视图。然后只需将项数组传递给它即可。

步骤3 - 实现代理方法

您的代理应遵守'RKTabViewDelegate'协议并实现这些方法

- (void)tabView:(RKTabView *)tabView tabBecameEnabledAtIndex:(int)index tab:(RKTabItem *)tabItem; 
- (void)tabView:(RKTabView *)tabView tabBecameDisabledAtIndex:(int)index tab:(RKTabItem *)tabItem;

代理方法与“按钮”项无关。第一个方法用于标准和非排除项。第二个仅供非排除项。

创建标签视图后,应指定代理

RKTabView *tabView = [[RKTabView alloc] initWithFrame:CGRectMake(0,0,320,44)];  
tabView.delegate = self;

定制

  • 定制水平缩进
    要设置标签视图内容和边缘之间的距离,请设置RKTabView的horizontalInsets属性
    objc tabView.horizontalInsets = HorizontalEdgeInsetsMake(70, 70);
  • 在顶部和底部绘制分隔线
    将drawSeparators属性设置为'YES'以启用此选项
    objc tabView.drawSeparators = YES;
  • 使用较深的背景色标记启用元素
    将darkensBackgroundForEnabledTabs属性设置为'YES'以启用此选项
    objc tabView.darkensBackgroundForEnabledTabs = YES;
  • 启用背景颜色
    可以为“启用”状态指定整个标签页视图或任何单独元素的背景颜色。
    如果您希望所有元素具有相同的“启用”颜色,请为标签页视图设置enabledTabBackgrondColor属性。

    tabView.enabledTabBackgrondColor = [UIColor redColor];

    如果您希望某些元素具有单独的“启用”背景颜色,则指定标签项的enabledBackgroundColor属性。

    tabItem.enabledBackgroundColor = [UIColor blueColor];

    注意:tabItem忽略了tabView的“启用”背景颜色,如果指定了,则使用它自己的颜色。

  • 元素背景色
    要设置元素背景颜色,请指定'backgroundColor'属性。

    tabItem.backgroundColor = [UIColor redColor];
  • 标题
    要设置元素的标题,请为标签项设置'titleString'属性。

    tabItem.titleString = @"Title";

    标题字体和标题字体颜色可以像指定“启用背景颜色”一样在标签页视图和标签项中指定。如果指定了标签项的属性,则忽略标签页视图的属性。

    tabView.titlesFont = [UIFont systemFontOfSize:9];
    tabView.titlesFontColor = [UIColor darkTextColor];

    tabItem.titleFont = [UIFont systemFontOfSize:9];
    tabItem.titleFontColor = [UIColor darkTextColor];

许可协议

RKTabView在MIT许可下发布

版权所有(c)2013 RafaelKayumov

在此特此授予任何获得本软件及其相关文档文件(“软件”)副本(以下简称“软件”)的人免费处理软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向获得软件的人提供本软件,以供其使用,但受以下条件限制

上述版权声明和本许可声明应包含在所有副本或实质性部分中。

软件按其现状提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、适用于特定目的和侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同行为、侵权行为或其他行为中产生的,无论是因软件、软件的使用或其他使用而产生的。