#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:searchpath = [NSIndexPath indexPathForItem:(indexPath.row + 1) inSection:indexPath.section];}else{path = indexPath;}if ([dic[indexStr][indexPath.row][@"state"] boolValue]) {// 关闭附加cellNSMutableDictionary *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{// 打开附加cellNSMutableDictionary *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 framebutton的尺寸 * @param targetbutton的目标对象 * @param selector 点击button所触发的方法 * @param imagebutton的背景图片 * @param imagePressed button高亮时的图片 * * @return button */+ (UIButton *)initButtonWithFrame:(CGRect)frame Target:(id)target Selector:(SEL)selector Image:(NSString *)image ImagePressed:(NSString *)imagePressed;/** * 初始化button * * @param framebutton的尺寸 * @param titlebutton的标题 * @param targetbutton的目标对象 * @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时能有所帮助。