#import "MyTableViewController.h"
#define originalHeight 25.0f
#define newHeight 85.0f
#define isOpen @"85.0f"
@interface
MyTableViewController
()
@end
@implementation
MyTableViewController
{
NSMutableDictionary
*dicClicked;
NSInteger
count;
CGFloat
mHeight;
NSInteger
sectionIndex;
}
- (
id
)initWithStyle:(UITableViewStyle)style
{
self
= [
super
initWithStyle
:style];
if
(
self
) {
}
return
self
;
}
- (
void
)viewDidLoad
{
[
super
viewDidLoad
];
count =
0
;
mHeight = originalHeight;
sectionIndex =
0
;
dicClicked = [
NSMutableDictionary
dictionaryWithCapacity
:
3
];
}
- (
void
)viewDidUnload
{
[
super
viewDidUnload
];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(
UITableView
*)tableView
{
return
5
0
;
}
- (NSInteger)tableView:(
UITableView
*)tableView
numberOfRowsInSection
:(NSInteger)section
{
return
2
;
}
- (
UITableViewCell
*)tableView:(
UITableView
*)tableView
cellForRowAtIndexPath
:(
NSIndexPath
*)indexPath
{
static
NSString
*contentIndentifer =
@"Container"
;
if
(indexPath
.row
==
0
) {
UITableViewCell
*cell = [tableView
dequeueReusableCellWithIdentifier
:contentIndentifer];
if
(cell ==
nil
) {
cell = [[
UITableViewCell
alloc
]
initWithStyle
:
UITableViewCellStyleDefault
reuseIdentifier
:contentIndentifer];
}
NSString
*statisticsContent = [[
NSString
alloc
]
initWithString
:
@"rlf:岁月流芳,花开几度,走在岁月里,醉在流香里,总在时光里辗转徘徊。花开几许,落花几度,岁月寒香,飘进谁的诗行,一抹幽香,掺入几许愁伤,流年似花,春来秋往,睁开迷离的双眼,回首张望,随风的尘烟荡漾着迷忙,昨日的光阴已逝去,留下无尽的回忆让人留恋与追忆"
];
cell
.textLabel
.font
= [
UIFont
systemFontOfSize
:
1
2
.0f
];
cell
.textLabel
.text
= statisticsContent;
cell
.textLabel
.textColor
= [
UIColor
brownColor
]
;
cell
.textLabel
.opaque
=
NO
;
cell
.textLabel
.numberOfLines
=
8
;
cell
.selectionStyle
=
UITableViewCellSelectionStyleNone
;
return
cell;
}
static
NSString
*
CellIdentifier
=
@"Cell"
;
UITableViewCell
*cell = [tableView
dequeueReusableCellWithIdentifier
:CellIdentifier];
if
(cell ==
nil
) {
cell = [[
UITableViewCell
alloc
]
initWithStyle
:
UITableViewCellStyleDefault
reuseIdentifier
:CellIdentifier];
}
cell
.imageView
.image
= [
UIImage
imageNamed
:
@"ic_milestone_heart.png"
];
cell
.textLabel
.text
= [
NSString
stringWithFormat
:
@"%d"
,count];
count++;
return
cell;
}
-(CGFloat)tableView:(
UITableView
*)tableView
heightForHeaderInSection
:(NSInteger)section
{
if
(section ==
0
)
return
4
6
;
else
return
3
0
.0f
;
}
-(
UIView
*)tableView:(
UITableView
*)tableView
viewForHeaderInSection
:(NSInteger)section
{
CGRect
headerFrame = CGRectMake(
0
,
0
,
3
0
0
,
3
0
);
CGFloat
y =
2
;
if
(section ==
0
) {
headerFrame = CGRectMake(
0
,
0
,
3
0
0
,
1
0
0
);
y =
1
8
;
}
UIView
*headerView = [[
UIView
alloc
]
initWithFrame
:headerFrame];
UILabel
*dateLabel=[[
UILabel
alloc
]
initWithFrame
:CGRectMake(
2
0
, y,
2
4
0
,
2
4
)];
dateLabel
.font
=[
UIFont
boldSystemFontOfSize
:
1
6
.0f
];
dateLabel
.textColor
= [
UIColor
darkGrayColor
];
dateLabel
.backgroundColor
=[
UIColor
clearColor
];
UILabel
*ageLabel=[[
UILabel
alloc
]
initWithFrame
:CGRectMake(
2
1
6
, y,
8
8
,
2
4
)];
ageLabel
.font
=[
UIFont
systemFontOfSize
:
1
4
.0
];
ageLabel
.textAlignment
=
UITextAlignmentRight
;
ageLabel
.textColor
= [
UIColor
darkGrayColor
];
ageLabel
.backgroundColor
=[
UIColor
clearColor
];
NSDateFormatter
*dateFormatter = [[
NSDateFormatter
alloc
]
init
];
dateFormatter
.dateFormat
=
@"MM dd,yyyy"
;
dateLabel
.text
= [
NSString
stringWithFormat
:
@"%@"
,[dateFormatter
stringFromDate
:[
NSDate
date
]]];
ageLabel
.text
=
@"1岁 2天"
;
[headerView
addSubview
:dateLabel];
[headerView
addSubview
:ageLabel];
return
headerView;
}
#pragma mark - Table view delegate
- (
void
)tableView:(
UITableView
*)tableView
didSelectRowAtIndexPath
:(
NSIndexPath
*)indexPath
{
if
(indexPath
.row
==
0
) {
UITableViewCell
*targetCell = [tableView
cellForRowAtIndexPath
:indexPath];
if
(targetCell
.frame
.size
.height
== originalHeight+
1
){
[dicClicked
setObject
:isOpen
forKey
:indexPath];
}
else
{
[dicClicked
removeObjectForKey
:indexPath];
}
[
self
.tableView
reloadRowsAtIndexPaths
:[
NSArray
arrayWithObject
:indexPath]
withRowAnimation
:UITableViewRowAnimationFade];
}
NSLog(
@"indexPath=%@"
,indexPath);
NSLog(
@"dicClicked=%@"
,dicClicked);
}
-(CGFloat)tableView:(
UITableView
*)tableView
heightForRowAtIndexPath
:(
NSIndexPath
*)indexPath
{
if
(indexPath
.row
==
0
) {
if
([[dicClicked
objectForKey
:indexPath]
isEqualToString
:
isOpen
])
return
[[dicClicked
objectForKey
:indexPath]
floatValue
];
else
return
originalHeight;
}
else
{
return
4
5
.0f
;
}
}
@end