基本的exchange已经实现。但是分组和全部交换的时候出现了bug。
1.先看看效果
2.下面重点是两个View的交换
1)h文件
#import <UIKit/UIKit.h>
@interface LCNewFriendsViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>
{
NSMutableArray *friendsData;
}
@property (strong,nonatomic)UITableView *friendsTableView;
@property (strong,nonatomic)UISegmentedControl *segmentControl;
@property (strong,nonatomic)UIView *groupView; //分组 view
@property (strong,nonatomic)UIView *allView; //所有好友的view
@end
2)m文件的初始化
#import "LCNewFriendsViewController.h"
#define EXPANDED @"expanded"
@interface LCNewFriendsViewController ()
{
int key ; // 默认1 分组 ,全部 2
}
@end
@implementation LCNewFriendsViewController
- (void)viewWillAppear:(BOOL)animated
{
key = 1; //设置key,以便于在cell绘制的时候进行区别绘制
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
NSArray *segmentArray = [NSArray arrayWithObjects:@"分组",@"全部", nil];
self.segmentControl = [[UISegmentedControl alloc]initWithItems:segmentArray];
[self.segmentControl addTarget:self action:@selector(segmentValueChanged:) forControlEvents:UIControlEventValueChanged];
self.navigationItem.titleView = self.segmentControl;
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc]initWithTitle:@"编辑" style:UIBarButtonItemStylePlain target:self action:@selector(editFreinds:)];
self.navigationItem.leftBarButtonItem = leftButton;
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc]initWithTitle:@"添加" style:UIBarButtonItemStylePlain target:self action:@selector(addFriends:)];
self.navigationItem.rightBarButtonItem = rightButton;
// Custom initialization
}
return self;
}
- (void)editFreinds:(id)sender
{
}
- (void)addFriends:(id)sender
{
}
//全部/分组页面的切换
- (void)segmentValueChanged:(id)sender
{
if (self.segmentControl.selectedSegmentIndex == 0) {
[self enterGroupingView];
}else
{
[self enterallView];
}
}
- (void)enterGroupingView
{
key = 1;
if (self.groupView == nil) { //判断当前view‘是不是 groupView
self.groupView = [[UIView alloc]initWithFrame:CGRectMake(0, 30, 320, 425)];
[self.groupView setBackgroundColor:[UIColor redColor]];
self.friendsTableView = [[UITableView alloc]initWithFrame:self.groupView.frame style:UITableViewStylePlain];
self.friendsTableView.delegate = self;
self.friendsTableView.dataSource = self;
[self.groupView addSubview:self.friendsTableView];
[self.view addSubview:self.groupView];
}else
{
[self.view sendSubviewToBack:self.allView];
[self.view bringSubviewToFront:self.groupView];
}
}
- (void)enterallView
{
key = 2;
if (self.allView == nil) {
self.allView = [[UIView alloc]initWithFrame:CGRectMake(0, 13, 320, 425)];
[self.allView setBackgroundColor:[UIColor yellowColor]];
self.friendsTableView = [[UITableView alloc]initWithFrame:self.allView.frame style:UITableViewStylePlain];
self.friendsTableView.delegate = self;
self.friendsTableView.dataSource = self;
[self.allView addSubview:self.friendsTableView];
[self.view addSubview:self.allView];
}else
{
[self.view sendSubviewToBack:self.groupView];
[self.view bringSubviewToFront:self.allView];
}
}
这是前期的实现。后面将实现两个exchange的正常显示和zone,setup的实现