How can I embed a UISwitch
on a UITableView
cell? Examples can be seen in the settings menu.
My current solution:
UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;
How can I embed a UISwitch
on a UITableView
cell? Examples can be seen in the settings menu.
My current solution:
UISwitch *mySwitch = [[[UISwitch alloc] init] autorelease];
cell.accessoryView = mySwitch;
You could prepare the cell in Interfacebuilder, link it to an IBOutlet of your Viewcontroller and return it when the tableview is asking for the proper row.
Instead, you could create a separate xib for the cell (again with IB) and load it using UINib upon the cells creation.
Finally, you could create the switch programmatically and add it to your cells contentview or accessoryview.
Which one suits you best largely depends on what you like to do. If your tableviews content is fixed (for a settings page etc.) the first two might work well, if the content is dynamic I'd prefer the programmatic solution. Please be more specific in what you would like to do, this would make answering your question easier.
for swift users
Setting it as the accessoryView is usually the way to go. You can set it up in
tableView:cellForRowAtIndexPath:
You may want to use target/action to do something when the switch is flipped. Like so:You can add a UISwitch or any other control to the cell's
accessoryView
. That way it will appear on the right-hand side of the cell which is probably what you want.