MSCellAccessory是一个可以让UITableViewCell accessoryType轻松自定义颜色的库。许多开发者都非常希望自定义UITableViewCell accessoryType的颜色。但是,他们使用自定义的png图像来解决问题。但是,这种方法并不好。因为这个不需要创建图像文件,而且每个颜色都需要创建。这会不必要地增加内存容量。如果使用这个库,可以通过编程来更轻松地自定义accessoryType并且更灵活。
FLAT_DETAIL_DISCLOSURE: identical to iOS7 UITableViewCellAccessoryDetailDisclosureButton
FLAT_DETAIL_BUTTON: identical to iOS7 UITableViewCellAccessoryDetailButton
FLAT_DISCLOSURE_INDICATOR: identical to iOS7 UITableViewCellAccessoryDisclosureIndicator
FLAT_CHECKMARK: identical to iOS7 UITableViewCellAccessoryCheckmark
FLAT_UNFOLD_INDICATOR: Flat unfold indicator
FLAT_FOLD_INDICATOR: Flat fold indicator
DETAIL_DISCLOSURE: identical to UITableViewCellAccessoryDetailDisclosureButton
DISCLOSURE_INDICATOR: identical to UITableViewCellAccessoryDisclosureIndicator
CHECKMARK: identical to UITableViewCellAccessoryCheckmark
UNFOLD_INDICATOR: unfold indicator
FOLD_INDICATOR: fold indicator
MSCellAccessory可以通过CocoaPods使用。只需在Podfile中添加以下内容:=> #import <MSCellAccessory.h>
platform :ios
pod 'MSCellAccessory'
另一种方法是,将包含的MSCellAccessory
文件夹拖到您的项目中。=> #import "MSCellAccessory.h"
要求:至少iOS5
这些类是在 ARC 下编写的。如果您没有使用全局ARC项目,请确保为每个文件指定编译源代码的 'Compile Sources' 编译阶段:-fobjc-arc
#import "MSCellAccessory.h"
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
if(indexPath.row == 0)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_DETAIL_DISCLOSURE colors:@[[UIColor colorWithRed:253/255.0 green:184/255.0 blue:0/255.0 alpha:1.0], [UIColor colorWithWhite:0.5 alpha:1.0]]];
}
else if(indexPath.row == 1)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_DETAIL_BUTTON color:[UIColor colorWithRed:132/255.0 green:100/255.0 blue:159/255.0 alpha:1.0]];
}
else if(indexPath.row == 2)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_DISCLOSURE_INDICATOR color:[UIColor colorWithRed:0/255.0 green:166/255.0 blue:149/255.0 alpha:1.0]];
}
else if(indexPath.row == 3)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_CHECKMARK color:[UIColor colorWithRed:0/255.0 green:123/255.0 blue:170/255.0 alpha:1.0]];
}
else if(indexPath.row == 4)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_UNFOLD_INDICATOR color:[UIColor colorWithRed:0/255.0 green:123/255.0 blue:170/255.0 alpha:1.0]];
}
else if(indexPath.row == 5)
{
cell.accessoryView = [MSCellAccessory accessoryWithType:FLAT_FOLD_INDICATOR color:[UIColor colorWithRed:0/255.0 green:123/255.0 blue:170/255.0 alpha:1.0]];
}
return cell;
}
软件许可协议(BSD许可证)
版权(C)2013 SHIM MIN SEOK。保留所有权利。
在不违背以下条件的情况下,允许对源代码和二进制代码进行重新分发和使用,无论是否修改:
源代码的重新分发必须保留上述版权声明、本条件列表以及以下免责声明。
二进制形式的重新分发必须在上文所述的文档和其他材料中重现上述版权声明、本条件列表和以下免责声明。
未经事先书面许可,不得使用Infrae或其贡献者的姓名来推广或支持从本软件衍生出的产品。
本软件由版权所有者和贡献者提供,"现状"基础之上的,任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证均被免除。在任何情况下,Infrae或贡献者不应对任何直接、间接、偶然、特殊、示范性或后果性的损害承担责任(包括但不限于替代商品或服务的供应;使用、数据或利润的丧失;或业务中断),无论此类损害如何引起,以及基于何种责任理论(合同、侵权责任或因其他原因引起),即使事先已被告知此类损害的可能性。