http://stackoverflow.com/questions/838266/how-do-i-add-a-uibutton-or-uiswitch-in-tableviewviewforfooterinsection
// Need to refactor so that the label is Public Sharing and Priviate Sharing and the actions work for each switch
-
(
UIView
*)
tableView
:
(
UITableView
*)
tableView
viewForFooterInSection
:
(
NSInteger
)
section
{
if
(
section
==
0
||
section
==
1
)
{
CGRect
screenRect
=
[[
UIScreen
mainScreen
]
applicationFrame
];
UIView
*
footerView
=
[[
UIView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
screenRect
.
size
.
width
,
44.0
)];
footerView
.
autoresizesSubviews
=
YES
;
footerView
.
autoresizingMask
=
UIViewAutoresizingFlexibleWidth
;
footerView
.
userInteractionEnabled
=
YES
;
footerView
.
hidden
=
NO
;
footerView
.
multipleTouchEnabled
=
NO
;
footerView
.
opaque
=
NO
;
footerView
.
contentMode
=
UIViewContentModeScaleToFill
;
// Add the label
UILabel
*
footerLabel
=
[[
UILabel
alloc
]
initWithFrame
:
CGRectMake
(
150.0
,
-
5.0
,
120.0
,
45.0
)];
footerLabel
.
backgroundColor
=
[
UIColor
clearColor
];
footerLabel
.
opaque
=
NO
;
footerLabel
.
text
=
@
"Sharing"
;
footerLabel
.
textColor
=
[
UIColor
tableHeaderAndFooterColor
];
footerLabel
.
highlightedTextColor
=
[
UIColor
tableHeaderAndFooterColor
];
footerLabel
.
font
=
[
UIFont
boldSystemFontOfSize
:
17
];
footerLabel
.
shadowColor
=
[
UIColor
whiteColor
];
footerLabel
.
shadowOffset
=
CGSizeMake
(
0.0
,
1.0
);
[
footerView addSubview
:
footerLabel
];
[
footerLabel release
];
// Add the switch
UISwitch
*
footerSwitch
=
[[
UISwitch
alloc
]
initWithFrame
:
CGRectMake
(
215.0
,
5
,
80.0
,
45.0
)];
[
footerView addSubview
:
footerSwitch
];
// Return the footerView
return
footerView
;
}
else
return
nil
;
}
// Need to call to pad the footer height otherwise the footer collapses
-
(
CGFloat
)
tableView
:(
UITableView
*)
tableView heightForFooterInSection
:(
NSInteger
)
section
{
switch
(
section
)
{
case
0
:
return
40.0
;
case
1
:
return
40.0
;
default
:
return
0.0
;
}
}