Your problem (based on your comment) is you are technically not using a modal, you are using a subview!
If you want to use a modal you need to do:
[self presentModalViewController:self.fav animated:YES];
to present your controller, instead of: [self.view addSubview:_fav.view];
Then your dismissal will work (many of your solutions will work):
[self dismissModalViewControllerAnimated:YES];
Otherwise if you do wish to use a subview you would need to do this to remove it:
[self.fav.view removeFromSuperview];
(It also looks like you are using ivars. If you wish to keep using them then replace self.fav
with _fav
)