设为首页 加入收藏

TOP

iOS 实现QQ界面(一)
2014-11-23 21:31:45 来源: 作者: 【 】 浏览:14
Tags:iOS 实现 界面

应师傅要求编写个QQ界面来指教下我的代码问题。


编写个QQ界面,有三个组,每个组有人,并显示在线不在线;


先看一下效果图



这里省了事因为我的图片只用了一张,如果要根据人的不同设置,只要在cell里面改一下就行了;


主要是实现点击上面分组展开内容,再点击收回去。


废话不多说,上菜:


我们先来构造数据:


NSArray * InitArray =@[
@{
@"Name":@"朋友",
@"Group":@"YES",
@"Child":@[
@{@"Name":@"张三",
@"State":@"在线",},
@{@"Name":@"王五",
@"State":@"离开"}
]
},
@{
@"Name":@"家人",
@"Group":@"YES",
@"Child":@[@{@"Name":@"姐姐",
@"State":@"在线"},
@{@"Name":@"妹妹",
@"State":@"在线"},
@{@"Name":@"哥哥",
@"State":@"离开"},
@{@"Name":@"弟弟",
@"State":@"离开"}]
},
@{
@"Name":@"陌生人",
@"Group":@"YES",
@"Child":@[
@{@"Name":@"小王",
@"State":@"在线"},
@{@"Name":@"小李",
@"State":@"离开"},
@{@"Name":@"小红",
@"State":@"离开"}]

}
];


设置一个数组属性 来接受数据;


@property (nonatomic,copy) NSMutableArray * CellArray;


好了,我们来利用数据构造界面吧;



界面很简单:


一个图片是自己的头像;


一个是自己的网名


一个在线状态


下面就是一个表格(tableview)


@interface ViewController ()
{
UITableView * TableV;
}


@end


设置一个tableview ;



往里面放:


UIImageView *IconImageV = [[UIImageView alloc]initWithFrame:CGRectMake(15, 30, 60, 60)];
IconImageV.image = [UIImage imageNamed:@"icon.png"];
[self.view addSubview:IconImageV];
UILabel *NameLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 30, 100, 30)];
NameLabel.text = @"雪松";
NameLabel.textAlignment = 1;//设置文字的对其方式 居中
[self.view addSubview:NameLabel];
UILabel *StateLabel = [[UILabel alloc]initWithFrame:CGRectMake(100, 60, 100, 30)];
StateLabel.text = @"在线";
NameLabel.textAlignment = 1;
[self.view addSubview:StateLabel];

TableV = [[UITableView alloc]initWithFrame:CGRectMake(15, 100, 290, 350)];
TableV.delegate = self;
TableV.dataSource = self;
TableV.separatorStyle=0;
TableV.backgroundColor =[UIColor yellowColor];
[self.view addSubview:TableV];


然后就是我们来构造table了


-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{

UITableViewCell *cell ;
NSDictionary * dectionary = [_CellArray objectAtIndex:indexPath.row];
if([dectionary objectForKey:@"Group"])
{
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleva lue2 reuseIdentifier:@"Group"];
cell.textLabel.text = [dectionary objectForKey:@"Name"];
cell.textLabel.textAlignment=0;
cell.backgroundColor = [UIColor grayColor];
cell.tag = 1;
}
else
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"Child"];
cell.imageView.image = [UIImage imageNamed: @"icon.png"];
cell.textLabel.text = [dectionary objectForKey:@"Name"];
cell.detailTextLabel.text = [dectionary objectForKey:@"State"];
}
return cell;

}


这里我想说一下,这个tag ,我想了很半天,如何用来记录这个分组是打开的还是折叠的呢,没有办法,最后想到了tag 用tag=1

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇iOS 二级菜单(UITableView实现) 下一篇iOS 购物—个人中心界面

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: