Я хочу создать класс, который может наследовать от двух настраиваемых классов. У вас есть идея сделать это, пожалуйста? Пожалуйста, смотрите ниже моего примера:Множественное наследование для IOS
первого класса:
@interface UIZoomableView : UIView
{
UITapGestureRecognizer *_tapGestureRecognizer;
}
и реализация:
- (void)onDoubleTap:(UITapGestureRecognizer *)sender
{
CGSize newSize;
CGPoint centerPoint = self.center;
if ([self isSmall])
{
newSize = [self bigSize];
}
else
{
newSize = [self smallSize];
}
[UIView animateWithDuration:0.3 animations:^{
self.size = newSize;
self.center = centerPoint;
}];
}
Второй класс:
@interface UIDraggableView : UIView
UIPanGestureRecognizer *_panGestureRecognizer;
@end
реализация:
- (void)handlePan:(UIPanGestureRecognizer*)sender
{
..
}
Я хочу создать пользовательский вид, который можно масштабировать и перетаскивать. У вас есть идея сделать это, пожалуйста? (без кода копирования ..)
Я думаю, что-то вроде протоколов, но мне нужно значение по умолчанию для базовых классов? Как я могу реализовать это с помощью протокола или что-то вроде протоколов.
Спасибо за любой ответ!
Objective-C не поддерживает множественное наследование, вы можете найти лучшее решение, чтобы быть протоколы. –
Как я могу реализовать это, пожалуйста? я не хочу свойство, которое является делегатом .. и я хочу значение по умолчанию, например, в масштабируемом представлении. Я хочу по умолчанию небольшой размер, если подкласс не переопределяет функцию, возвращает класс (50,50). – Rebecca
Невозможно установить значения по умолчанию для протокола, так как предполагается, что они не реализованы. Что вы можете сделать, так это наследовать от класса, который реализует протокол, посмотрите на этот вопрос: https://gist.github.com/paulrehkugler/9647085 –