Okay, so habe ich die ganze Forschung für dieses Problem, aber keiner der bestehenden Lösungen scheinen mein Problem zu lösen, so ist es hier:Probleme beim Überschreiben scrollViewDidScroll, aber nicht alle anderen Methoden der UIScrollViewDelegate
- ich habe eine benutzerdefinierte Klasse, die UIScrollView (und enthält eine UIView)
- ich die scrollViewDidScroll Methode von UIScrollViewDelegate außer Kraft setzen möchte, dass sie (aber nicht alle Methoden)
ich bereits versucht habe, den Code von dieser Umsetzung Ausgabe: How to subclass UIScrollView and make the delegate property private aber aus irgendeinem Grund tut es nichts (die benutzerdefinierte Methode, die überschrieben wurde, wird nie aufgerufen). Ich weiß auch, dass man nicht alle Methoden von UIScrollViewDelegate implementieren müssen, wenn Sie einen benutzerdefinierten Delegaten Klasse erstellen, die das Protokoll (per iPhone: Do I need to implement all methods for UIScrollViewDelegate (or any delegate)) implementiert - aber wenn ich dies tun:
MyScrollViewDelegate.h
@interface MyScrollViewDelegate: NSObject <UIScrollViewDelegate>
-(void)scrollViewDidScroll:(UIScrollView *)scrollView;
@end
MyScrollViewDelegate.m
@implementation MyScrollViewDelegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
NSLog(@"Custom scrollViewDidScroll called.");
// -- some more custom code here --
// ...
}
@end
in der Unterklasse, die UIScroll erstreckt Ansicht
// this scrollview is initiated by the NIB
- (void)awakeFromNib
{
...
[self setDelegate:[[MyScrollViewDelegate alloc] init]];
}
Aber während es kompiliert und ausgeführt, wenn ich versuche, die scrollbaren Ansicht zu scrollen, stürzt mit EXC_BAD_ACCESS und einer kryptischen „(LLDB)“ Meldung in der Debug-Konsole.
So bin ich hier etwas ratlos was zu tun ist.
Vielen Dank! Lassen Sie mich das ausprobieren ... –
BTW, ich habe contentSize auf einen größeren Wert gesetzt als die Ansichtsgrenzen des gesamten UIScrollView-Objekts (zumindest vertikal - horizontal denke ich, dass die Größe gleich ist). –
Super! Das funktioniert! Nur zwei Kommentare: –