使用 UITableViewController 为基类,用于快速构建设置界面,可定制性强,有多个 cell 类型缓存重用,扩展性强,可继承 XFSettingCell 或功能更强大的 XFSettingInfoCell 作为父类进行自定义样式,采用Objective-C JSON格式 进行布局和对功能的添加。
代码示例:
//.h #import "XFSettings.h" @interface ViewController : XFBaseSettingTableViewController @end //.m @interface ViewController ()<XFBaseSettingDataSource> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // must invoke super method. self.navigationItem.title = @"设置"; self.view.backgroundColor = [UIColor whiteColor]; self.dataSource = self; // set self as dataSource. } - (NSArray *)settingItems { return @[ // groupArr @{ // groupModel XFSettingGroupHeader: @"基本信息", XFSettingGroupItems : @[ // items @{ // itemModel XFSettingItemTitle: @"我的朋友", XFSettingItemIcon : @"1435582804_group", XFSettingItemClass : [XFSettingInfoItem class], // 这个字段用于判断是否有右边辅助功能的cell,不写则没有 XFSettingItemAttrDetailText : @"你的好友", XFSettingItemRelatedCellClass:[XFSettingInfoDotCell class],// 自定义的cell XFSettingItemDestViewControllerClass : [XFNewFriendViewController class], // 如果有目标控制器 XFSettingOptionActionBlock : ^(XFSettingInfoCountCell *cell,XFSettingPhaseType phaseType,id intentData){ // 如果有可选的操作 if (phaseType == XFSettingPhaseTypeCellInteracted) { cell.rightInfoLabel.hidden = YES; } } },// end itemModel @{ XFSettingItemTitle: @"我的消息", XFSettingItemIcon : @"1435527299_message", XFSettingItemClass : [XFSettingInfoItem class], XFSettingItemAttrDetailText : @"新的好友", XFSettingItemAttrRightInfo : @"3", XFSettingItemRelatedCellClass:[XFSettingInfoCountCell class], XFSettingOptionActionBlock : ^(XFSettingInfoCountCell *cell,XFSettingPhaseType phaseType,id intentData){ // 交互时处理 if (phaseType == XFSettingPhaseTypeCellInteracted) { int count = cell.rightInfoLabel.text.intValue; cell.rightInfoLabel.text = [NSString stringWithFormat:@"%d",++count]; } } }, @{ XFSettingItemTitle: @"缓存大小", XFSettingItemIcon : @"1435529531_CD-DVD Drive-2", XFSettingItemClass : [XFSettingInfoItem class], XFSettingItemAttrDetailText : @"cache", XFSettingItemAttrRightInfo : @"正在计算", XFSettingItemRelatedCellClass:[XFSettingInfoCell class], XFSettingOptionActionBlock : ^(XFSettingInfoCell *cell,XFSettingPhaseType phaseType,id intentData){ [self cacheDirClear:cell phaseType:phaseType]; } }, @{ XFSettingItemTitle: @"保存我的设置", XFSettingItemIcon : @"1435527366_1-8", XFSettingItemClass : [XFSettingSwitchItem class], XFSettingOptionActionBlock : ^(XFSettingCell *cell,XFSettingPhaseType phaseType,id intentData){ if (phaseType == XFSettingPhaseTypeCellInteracted) { if ([intentData[XFSettingIntentDataSwitchOn] boolValue]) { NSLog(@"%@", @"保存"); }else{ NSLog(@"%@", @"取消保存"); } } } }, @{ XFSettingItemTitle: @"检测新版本", XFSettingItemIcon : @"1435529156_cloud-arrow-up", // 使用自定义向右箭头 XFSettingItemArrowIcon : @"CellArrow", XFSettingItemClass : [XFSettingInfoItem class], XFSettingItemRelatedCellClass:[XFSettingInfoCell class], XFSettingItemAttrRightInfo : @"有新版本!", XFSettingItemDestViewControllerClass : [UpdateViewController class], XFSettingOptionActionBlock : ^(XFSettingInfoCell *cell,XFSettingPhaseType phaseType,id intentData){ // 自定义初始化样式 if (phaseType == XFSettingPhaseTypeCellInit) { cell.rightInfoLabel.textColor = [UIColor orangeColor]; } } }, @{ XFSettingItemTitle: @"vip帮助", XFSettingItemIcon : @"1435529211_circle_help_question-mark", XFSettingOptionActionBlock : ^(XFSettingCell *cell,XFSettingPhaseType phaseType,id intentData){ } } ], XFSettingGroupFooter : @"lalala~" }// end groupModel ];// endgroupArr } @end
我目前有一个代码片段,其中对于每个类别,它将找到子类别: 将递归获取一个类别的子级: 目前,使用,只检索子类别的子类别,因此如果每个子类别都有自己的子类别,则不会将其保存到子类别中。 我如何显示子子类别给我们的子类别? 我想用我的代码做的是获取一个父级,获取它的子级,然后将这些子级中的每一个视为父级,递归地获取它的子级,但是我的JSON输出并没有反映这一点。只有父对象有子对象-子对象没有子对象(尽
我正试图通过WoodPress主题中的一个函数从woocommerce获取产品类别,我已经做到了: 这将按层次列出所有顶级类别及其下的子类别,但我有子类别(子类别)的子类别,因此如何列出这些子类别。
所以我决定为我的Woocommerce商店提供两个不同的模板。 我发现了一个很好的小片段,它基本上告诉我编辑taxonomy-product_cat。php 我的所有店铺页面都是分类/归档页面。我父母的分类中,每只有50只猫。 因此,我的代码在taxonomy-product_cat中如下所示。php: 问题是archive-product.php只适用于“户外家具”类别,而不是其子类别。 我知道
我试图在Woocommerce的当前子类别下显示子类别,比如这个网站。 我有2个家长类别“产品”和“部门”。然后我有一个菜单链接,可以同时访问两者。 当我在“产品”中时,我想看到子类别的图片,类别的标题,然后是所有子类别的标题和链接。 例如,父类别是“产品”,施工是子类别,密封剂 密封胶 这里有一个屏幕截图可以更好地解释它:
WeX5用的都是标准技术,连基本框架也只用主流。开发者会发现WeX5用的所有基本技术和框架,都是业界的标准和主流: 一、UI技术:WeX5的UI技术和标准是html+js+css,框架是jquery、require js和bootstrap,都是主流的不能再主流,标准得不能在标准的东西了。 二、本机apiframe work:WeX5采用了codova/phonegap,也是最主流的了,MS的vi
WeX5用的都是标准技术,连基本框架也只用主流。开发者会发现WeX5用的所有基本技术和框架,都是业界的标准和主流: 一、UI技术:WeX5的UI技术和标准是html+js+css,框架是jquery、require js和bootstrap,都是主流的不能再主流,标准得不能在标准的东西了。 二、本机apiframe work:WeX5采用了codova/phonegap,也是最主流的了,MS的vi
我有以下情况: 我想把所有动物都放在动物桌上。但是当我加载它们时,我想说它们是在哪个子类中加载的。在这种情况下,动物在理论上是抽象的。 这样的事情可能吗: 问题是,否则我看不出有任何可能从装载的动物投射到猫。:( 我用的是Hibernate4.2
我的类别表设计如下 我有三个级别的类别 < li >父项 < li >孩子 < li >子系 如何以下列方式显示它们? (SELECT*From类别):我得到以下数组,如下所示