Ich möchte eine Klasse erstellen, die von zwei benutzerdefinierten Klassen erben kann. Haben Sie eine Idee, dies bitte zu tun? Bitte siehe unten mein Beispiel:Multi-Vererbung für IOS
erste Klasse:
@interface UIZoomableView : UIView
{
UITapGestureRecognizer *_tapGestureRecognizer;
}
und Umsetzung:
- (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;
}];
}
Zweite Klasse:
@interface UIDraggableView : UIView
UIPanGestureRecognizer *_panGestureRecognizer;
@end
Umsetzung:
- (void)handlePan:(UIPanGestureRecognizer*)sender
{
..
}
Ich möchte eine benutzerdefinierte Ansicht erstellen, die zoombar und ziehbar sein kann. Haben Sie eine Idee, dies bitte zu tun? (ohne Kopiercode ..)
Ich denke etwas wie Protokolle, aber ich möchte den Standardwert für die Basisklassen? Wie kann ich dies mithilfe von Protokoll oder etwas wie Protokolle implementieren.
Danke für jede Antwort!
Objective-c keine Mehrfachvererbung nicht unterstützt, können Sie die beste Lösung Protokolle zu finden sein. –
Wie kann ich das bitte umsetzen? Ich möchte keine Eigenschaft, die Delegat ist .. und ich möchte Standard-Wert zum Beispiel in Zoom-Ansicht Ich möchte Standard kleine Größe, wenn die Unterklasse nicht überschreiben die Funktion, die Klasse zurück (50,50). – Rebecca
Es gibt keine wirklich gute Möglichkeit, Standardwerte für ein Protokoll festzulegen, da es nicht implementiert sein sollte. Was Sie tun könnten, ist, von einer Klasse zu erben, die das Protokoll implementiert, schauen Sie sich folgendes an: https://gist.github.com/paulrehkugler/9647085 –