Извините, но ваш короткий ответ неверен.
Правильная реализация этого заключается в добавлении @property в заголовочный файл с вашим типом возвращаемого значения.
Затем вместо @synthesize вы добавляете геттер и сеттер вручную и возвращаете тип приведения из [super view]
например, мой класс PlayerViewController
PlayerViewController.h
@property (strong, nonatomic) IBOutlet PlayerView *view;
PlayerViewController.m
- (PlayerView *)view{
return (PlayerView*)[super view];
}
- (void)setView:(PlayerView *)view{
[super setView:view];
}
важно поставить правильный класс в представление.
Помещение UIView туда, где находится PlayerView, вероятно, будет работать в Интерфейсном Разработчике, но не будет правильно работать в коде.
В настоящее время я использую эту реализацию.