後果圖以下:
#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *Window; @end
#import "AppDelegate.h" #import "RootViewController.h" @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { self.Window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Override point for customization after application launch. self.window.backgroundColor = [UIColor whiteColor]; RootViewController *root = [[RootViewController alloc] init]; UINavigationController *navi = [[UINavigationController alloc] initWithRootViewController:root]; self.window.rootViewController = navi; [self.window makeKeyAndVisible]; return YES; } @end
#import <UIKit/UIKit.h> @interface RootViewController : UIViewController @end
#import "RootViewController.h" #import "MainCell.h" #import "DetialTableViewCell.h" @interface RootViewController ()<UITableViewDataSource,UITableViewDelegate> { UITableView *_tableView; NSMutableDictionary *dic;//存對應的數據 NSMutableArray *selectedArr;// 二級列表能否睜開狀況 NSMutableArray *titleDataArray; NSArray *dataArray;//數據源,顯示每一個cell的數據 NSMutableDictionary *stateDic;//三級列表能否睜開狀況 NSMutableArray *groupArr0; NSMutableArray *groupArr1; NSMutableArray *groupArr2; NSMutableArray *groupArr3; NSMutableArray *groupArr4; NSMutableArray *groupArr5; } @end @implementation RootViewController - (void)viewDidLoad { [super viewDidLoad]; self.title = @"列表"; dic = [[NSMutableDictionary alloc] init]; selectedArr = [[NSMutableArray alloc] init]; dataArray = [[NSMutableArray alloc] init]; // 初始化tableView _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320*scaleX, [UIScreen mainScreen].bounds.size.height) style:UITableViewStylePlain]; _tableView.delegate = self; _tableView.dataSource = self; // 隱蔽轉動條 _tableView.showsVerticalScrollIndicator = NO; _tableView.showsHorizontalScrollIndicator = NO; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; [self.view addSubview:_tableView]; // 加載數據 [self loadData]; } /** * 加載數據 */ - (void)loadData { titleDataArray = [[NSMutableArray alloc] initWithObjects:@"親友",@"家人",@"石友", @"藍顏",@"同窗",@"老鄉",nil]; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小莉",@"name",@"NO",@"state", nil]; NSMutableDictionary *nameAndStateDic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"婷婷",@"name",@"NO",@"state", nil]; NSMutableDictionary *nameAndStateDic3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小莊",@"name",@"NO",@"state", nil]; groupArr0 = [[NSMutableArray alloc] initWithObjects:nameAndStateDic1,nameAndStateDic2,nameAndStateDic3, nil]; NSMutableDictionary *nameAndStateDic4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"晨晨姐",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic5 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"李濤",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic6 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"海波",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic7 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"張敏",@"name",@"NO",@"state",nil]; groupArr1 = [[NSMutableArray alloc]initWithObjects:nameAndStateDic4,nameAndStateDic5,nameAndStateDic6,nameAndStateDic7, nil]; NSMutableDictionary *nameAndStateDic8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"楊浩",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic9 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小明",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic10 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"洋洋",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic11 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"趙蒙",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic12 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小催",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic13 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"戰爭",@"name",@"NO",@"state",nil]; groupArr2 = [[NSMutableArray alloc]initWithObjects:nameAndStateDic8,nameAndStateDic9,nameAndStateDic10,nameAndStateDic11,nameAndStateDic12,nameAndStateDic13,nil]; NSMutableDictionary *nameAndStateDic14 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"超人",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic15 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"怪獸",@"name",@"NO",@"state",nil]; groupArr3 = [[NSMutableArray alloc] initWithObjects:nameAndStateDic14,nameAndStateDic15, nil]; NSMutableDictionary *nameAndStateDic16 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"年夜包",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic17 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小林子",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic18 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"石頭",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic19 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"小軒軒",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic20 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"阿東",@"name",@"NO",@"state",nil]; groupArr4 = [[NSMutableArray alloc]initWithObjects:nameAndStateDic16,nameAndStateDic17,nameAndStateDic18,nameAndStateDic19,nameAndStateDic20, nil]; NSMutableDictionary *nameAndStateDic21 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"鄭平",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic22 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"劉凡",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic23 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"韓琴",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic24 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"劉華健",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic25 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"彭曉明",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic26 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"張歡",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic27 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"劉來楠",@"name",@"NO",@"state",nil]; NSMutableDictionary *nameAndStateDic28 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",@"任強",@"name",@"NO",@"state",nil]; groupArr5 = [[NSMutableArray alloc]initWithObjects:nameAndStateDic21,nameAndStateDic22,nameAndStateDic23,nameAndStateDic24,nameAndStateDic25,nameAndStateDic26,nameAndStateDic27,nameAndStateDic28, nil]; [dic setValue:groupArr0 forKey:@"0"]; [dic setValue:groupArr1 forKey:@"1"]; [dic setValue:groupArr2 forKey:@"2"]; [dic setValue:groupArr3 forKey:@"3"]; [dic setValue:groupArr4 forKey:@"4"]; [dic setValue:groupArr5 forKey:@"5"]; } #pragma mark - tableViewDelegate - // 前往幾個表頭 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return titleDataArray.count; } // 每一個表頭前往幾行 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { NSString *string = [NSString stringWithFormat:@"%d",(int)section]; // 假如表頭前往值不為零,則修正圖片(改成箭頭向下的圖片) if ([selectedArr containsObject:string]) { UIImageView *imageView = (UIImageView *)[_tableView viewWithtag:20000 + section]; imageView.image = [UIImage imageNamed:@"buddy_header_arrow_down"]; NSArray *array1 = dic[string]; return array1.count; } return 0; } // 設置表頭的高度 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 40*scaleX; } // Section Footer的高度 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return 0.2; } // 設置view,將替換titleForHeaderInsection辦法 - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320*scaleX, 30*scaleY)]; view.backgroundColor = [UIColor whiteColor]; UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(20*scaleX, 5*scaleY, tableView.frame.size.width - 20*scaleX, 30*scaleY)]; titleLabel.text = [titleDataArray objectAtIndex:section]; [view addSubview:titleLabel]; UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(5*scaleX, 12*scaleY, 15*scaleX, 15*scaleY)]; imageView.tag = 20000+section; // 斷定是否是選中狀況 NSString *string = [NSString stringWithFormat:@"%d",(int)section]; if ([selectedArr containsObject:string]) { imageView.image = [UIImage imageNamed:@"buddy_header_arrow_down"]; }else{ imageView.image = [UIImage imageNamed:@"buddy_header_arrow_right"]; } [view addSubview:imageView]; UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(0, 0, 320*scaleX, 40*scaleY); button.tag = 100 + section; [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside]; [view addSubview:button]; UIImageView *lineImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 40*scaleY - 1, 320*scaleX, 1)]; lineImage.image = [UIImage imageNamed:@"line"]; [view addSubview:lineImage]; return view; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { NSString *indexStr = [NSString stringWithFormat:@"%d",(int)indexPath.section]; if ([dic[indexStr][indexPath.row][@"cell"] isEqualToString:@"MainCell"]) { return 60*scaleY; }else{ return 40*scaleY; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { // 以後是第幾個表頭 NSString *indexStr = [NSString stringWithFormat:@"%d",(int)indexPath.section]; if ([dic[indexStr][indexPath.row][@"cell"] isEqualToString:@"MainCell"]) { static NSString *identifier = @"MainCell"; MainCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier]; if (cell == nil) { cell = [[MainCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]; cell.selectionStyle = UITableViewCellSelectionStyleGray; } if ([selectedArr containsObject:indexStr]) { cell.Headerphoto.image = [UIImage imageNamed:[NSString stringWithFormat:@"%d.png",arc4random()%11]]; cell.nameLabel.text = dic[indexStr][indexPath.row][@"name"]; cell.IntroductionLabel.text = @"滴滴雨點似乎似流淚,滴在我冰涼的身軀"; cell.networkLabel.text = @"2G"; } // ??? if (indexPath.row == dataArray.count - 1) { cell.imageLine.image = nil; }else{ cell.imageLine.image = [UIImage imageNamed:@"line"]; } return cell; }else if ([dic[indexStr][indexPath.row][@"cell"] isEqualToString:@"AttachedCell"]){ static NSString *detialIdentifier = @"AttachedCell"; DetialTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:detialIdentifier]; if (cell == nil) { cell = [[DetialTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:detialIdentifier]; cell.selectionStyle = UITableViewCellSeparatorStyleNone; cell.imageLine.image = [UIImage imageNamed:@"line"]; } return cell; } return nil; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // TODO:search [_tableView deselectRowAtIndexPath:indexPath animated:YES]; NSString *indexStr = [NSString stringWithFormat:@"%d",(int)indexPath.section]; NSIndexPath *path = nil; if ([dic[indexStr][indexPath.row][@"cell"] isEqualToString:@"MainCell"]) { // TODO:search path = [NSIndexPath indexPathForItem:(indexPath.row + 1) inSection:indexPath.section]; }else{ path = indexPath; } if ([dic[indexStr][indexPath.row][@"state"] boolValue]) { // 封閉附加cell NSMutableDictionary *dd = dic[indexStr][indexPath.row]; NSString *name = dd[@"name"]; NSMutableDictionary *nameAndStateDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",name,@"name",@"NO",@"state", nil]; switch (indexPath.section) { case 0: { groupArr0[(path.row-1)] = nameAndStateDic; [groupArr0 removeObjectAtIndex:path.row]; } break; case 1: { groupArr1[(path.row-1)] = nameAndStateDic; [groupArr1 removeObjectAtIndex:path.row]; } break; case 2: { groupArr2[(path.row-1)] = nameAndStateDic; [groupArr2 removeObjectAtIndex:path.row]; } break; case 3: { groupArr3[(path.row-1)] = nameAndStateDic; [groupArr3 removeObjectAtIndex:path.row]; } break; case 4: { groupArr4[(path.row-1)] = nameAndStateDic; [groupArr4 removeObjectAtIndex:path.row]; } break; case 5: { groupArr5[(path.row-1)] = nameAndStateDic; [groupArr5 removeObjectAtIndex:path.row]; } break; default: break; } [_tableView beginUpdates]; [_tableView deleteRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle]; [_tableView endUpdates]; }else{ // 翻開附加cell NSMutableDictionary *dd = dic[indexStr][indexPath.row]; NSString *name = dd[@"name"]; NSMutableDictionary *nameAndStateDic = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"MainCell",@"cell",name,@"name",@"YES",@"state", nil]; switch (indexPath.section) { case 0: { groupArr0[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr0 insertObject:nameAndStateDic1 atIndex:path.row]; } break; case 1: { groupArr1[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr1 insertObject:nameAndStateDic1 atIndex:path.row]; } break; case 2: { groupArr2[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr2 insertObject:nameAndStateDic1 atIndex:path.row]; } break; case 3: { groupArr3[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr3 insertObject:nameAndStateDic1 atIndex:path.row]; } break; case 4: { groupArr4[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr4 insertObject:nameAndStateDic1 atIndex:path.row]; } break; case 5: { groupArr5[(path.row-1)] = nameAndStateDic; NSMutableDictionary *nameAndStateDic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"AttachedCell",@"cell",@"YES",@"state", nil]; [groupArr5 insertObject:nameAndStateDic1 atIndex:path.row]; } break; default: break; } [_tableView beginUpdates]; [_tableView insertRowsAtIndexPaths:@[path] withRowAnimation:UITableViewRowAnimationMiddle]; [_tableView endUpdates]; } } -(void)buttonAction:(UIButton *)sender { NSString *string = [NSString stringWithFormat:@"%d",(int)(sender.tag-100)]; //數組selectedArr外面存的數據和表頭想對應,便利今後做比擬 if ([selectedArr containsObject:string]) { [selectedArr removeObject:string]; } else { [selectedArr addObject:string]; } [_tableView reloadData]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end
#import <UIKit/UIKit.h> @interface MainCell : UITableViewCell @property (strong, nonatomic) UILabel *nameLabel; @property (strong, nonatomic) UILabel *IntroductionLabel; @property (strong, nonatomic) UILabel *networkLabel; @property (strong, nonatomic) UIImageView *Headerphoto; @property (strong, nonatomic) UIImageView *imageLine; @end
#import "MainCell.h" @implementation MainCell - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { // 頭像 _Headerphoto = [[UIImageView alloc] initWithFrame:CGRectMake(6*scaleX, 5*scaleY, 50*scaleX, 50*scaleX)]; [self.contentView addSubview:_Headerphoto]; // 名字 _nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(60*scaleX, 5*scaleY, 200*scaleX, 25*scaleX)]; _nameLabel.font = [UIFont systemFontOfSize:15]; [self.contentView addSubview:_nameLabel]; // 簡介 _IntroductionLabel = [[UILabel alloc] initWithFrame:CGRectMake(60*scaleX, 28*scaleY, 240*scaleX, 25*scaleX)]; _IntroductionLabel.backgroundColor = [UIColor clearColor]; _IntroductionLabel.textColor = [UIColor lightGrayColor]; _IntroductionLabel.font = [UIFont systemFontOfSize:13]; [self.contentView addSubview:_IntroductionLabel]; // 收集 _networkLabel = [[UILabel alloc] initWithFrame:CGRectMake(290*scaleX, 5*scaleY, 50*scaleX, 25*scaleY)]; _networkLabel.backgroundColor = [UIColor clearColor]; _networkLabel.textColor = [UIColor lightGrayColor]; _networkLabel.font = [UIFont systemFontOfSize:13]; [self.contentView addSubview:_networkLabel]; // 朋分線 _imageLine = [[UIImageView alloc] initWithFrame:CGRectMake(60*scaleX, 60*scaleY - 1, (320 - 60)*scaleX, 1)]; [self.contentView addSubview:_imageLine]; } return self; } @end
#import <UIKit/UIKit.h> @interface DetialTableViewCell : UITableViewCell @property (strong, nonatomic) UIImageView *imageLine; @end
#import "DetialTableViewCell.h" #import "UIButton+initializer.h" @implementation DetialTableViewCell - (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { // 朋分線 _imageLine = [[UIImageView alloc] initWithFrame:CGRectMake(60*scaleX, 40*scaleY - 1, (320 - 60)*scaleY, 1)]; [self.contentView addSubview:_imageLine]; UIButton *btn1 = [UIButton initButtonWithFrame:CGRectMake(70*scaleX, 9*scaleY, 50*scaleX, 20*scaleY) Title:@"語音" Target:self Selector:@selector(btnAction:)]; btn1.tag = 100; UIButton *btn2 = [UIButton initButtonWithFrame:CGRectMake(130*scaleX, 9*scaleY, 50*scaleX, 20*scaleY) Title:@"視頻" Target:self Selector:@selector(btnAction:)]; btn2.tag = 200; UIButton *btn3 = [UIButton initButtonWithFrame:CGRectMake(190*scaleX, 9*scaleY, 50*scaleX, 20*scaleY) Title:@"圖片" Target:self Selector:@selector(btnAction:)]; btn3.tag = 300; UIButton *btn4 = [UIButton initButtonWithFrame:CGRectMake(250*scaleX, 9*scaleY, 50*scaleX, 20*scaleY) Title:@"臉色" Target:self Selector:@selector(btnAction:)]; btn4.tag = 400; [self.contentView addSubview:btn1]; [self.contentView addSubview:btn2]; [self.contentView addSubview:btn3]; [self.contentView addSubview:btn4]; } return self; } - (void)btnAction:(UIButton *)sender { switch (sender.tag) { case 100: { NSLog(@"~~~~語音~~~~"); } break; case 200: { NSLog(@"~~~~視頻~~~~"); } break; case 300: { NSLog(@"~~~~圖片~~~~"); } break; case 400: { NSLog(@"~~~~臉色~~~~"); } break; default: break; } } - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } @end
#import <UIKit/UIKit.h> @interface UIButton (initializer) /** * 初始化button * * @param frame button的尺寸 * @param target button的目的對象 * @param selector 點擊button所觸發的辦法 * @param image button的配景圖片 * @param imagePressed button高亮時的圖片 * * @return button */ + (UIButton *)initButtonWithFrame:(CGRect)frame Target:(id)target Selector:(SEL)selector Image:(NSString *)image ImagePressed:(NSString *)imagePressed; /** * 初始化button * * @param frame button的尺寸 * @param title button的題目 * @param target button的目的對象 * @param selector 點擊button所觸發的辦法 * * @return button */ + (UIButton *)initButtonWithFrame:(CGRect)frame Title:(NSString *)title Target:(id)target Selector:(SEL)selector; @end
#import "UIButton+initializer.h" @implementation UIButton (initializer) + (UIButton *)initButtonWithFrame:(CGRect)frame Target:(id)target Selector:(SEL)selector Image:(NSString *)image ImagePressed:(NSString *)imagePressed { UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; [button setFrame:frame]; UIImage *newImage = [UIImage imageNamed:image]; [button setBackgroundImage:newImage forState:0]; UIImage *newPressedImage = [UIImage imageNamed:imagePressed]; [button setBackgroundImage:newPressedImage forState:UIControlStateHighlighted]; [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside]; return button; } + (UIButton *)initButtonWithFrame:(CGRect)frame Title:(NSString *)title Target:(id)target Selector:(SEL)selector { UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [button setFrame:frame]; [button setTitle:title forState:0]; [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside]; return button; } @end
pch文件的代碼:
#ifndef QQList_PrefixHeader_pch #define QQList_PrefixHeader_pch #define scaleX [UIScreen mainScreen].bounds.size.width/320.0 #define scaleY [UIScreen mainScreen].bounds.size.height/568.0 #endif
總結
以上就是在IOS睜開三級列表後果示例的全體內容,願望本文的內容對年夜家IOS時能有所贊助。
【IOS睜開三級列表後果示例】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!