<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          XFSettingsUITableView 子類

          聯合創(chuàng)作 · 2023-09-25 23:49

          使用 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
          瀏覽 3
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产一区精品视频 | 亚洲成人18禁 | 西西4444WWW无码视频 | 国产精品在线观看视频 | 欧美,日韩,国产精品免费观看 |