Coming a bit late to this but my approach to change the More controller icons was to (and not sure if Apple will approve it) do the following:
id moreNavController = [tabs.moreNavigationController.viewControllers objectAtIndex:0];
if ([moreNavController respondsToSelector(@selector(view)]) {
UITableView *t = (UITableView*)[moreNavController view];
[t setDataSource:self];
}
Then I just implement the UITableViewDatasourceProtocol methods
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section{
id o =[tabs.moreNavigationController.viewControllers objectAtIndex:0];
return [o tableView:tableView numberOfRowsInSection:section]; //let the existing data source actually return the number of rows
}
and
-(UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath {
/* configure cell as normal with what ever image in the imageView property*/
cell.imageView.image = <someimageobj>
}