Uiscrollview jak aplikacja Twitter dla iPada

Szukam tutoriala lub pomysłów na wykonanie niestandardowego kontrolera, który wygląda jak ten w aplikacji Twitter dla iPada, mam na myśli ułożone strony z głównym menu po lewej stronie. Z góry dziękuję za wszelką pomoc!!

Author: Michael Eakins, 2010-11-01

2 answers

Stworzyliśmy projekt mock i dodaliśmy go w GitHubie

Https://github.com/raweng/StackScrollView

 11
Author: Reefaq,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-05-09 15:24:00

Mam na to rozwiązanie.

Umieść widok tabeli jako menu bocznego po lewej stronie. Umieść widok przewijania na górze. Dodaj zawartość do widoku przewijania.

Widok przewijania obejmie widok tabeli. Ustaw szerokość zawartości rozmiar widoku przewijania na sumę szerokości zawartości i szerokości paska bocznego. Pozycja zawartości jest na (szerokość paska bocznego, 0). Możesz przeciągnąć go, aby zasłonić lub odsłonić pasek boczny.

Problem polega na tym, że widok tabeli nie może odbierać żadnego zdarzenia dotykowego na to jest objęte widoku przewijania.

Więc implementuję podklasę.

@interface UICascadeScrollView : UIScrollView {
        UIView* passthroughView_;
}

@property(nonatomic,assign) IBOutlet UIView* passthroughView;

@end

@implementation UICascadeScrollView

@synthesize passthroughView = passthroughView_;

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
        for( UIView* v in self.subviews ) {
                if( CGRectContainsPoint( v.frame, point ) ) {
                        // one of the sub view could accept the touch event
                        return [super hitTest:point withEvent:event];
                }
        }
        CGPoint newPoint = [self convertPoint:point toView:passthroughView_];
    return [passthroughView_ hitTest:newPoint withEvent:event];
}


- (void)dealloc {
        self.passthroughView = nil;
    [super dealloc];
}


@end

Zmień klasę scrollview na UICascadeScrollView i ustaw passthroughView na pasek boczny.

To wszystko.

==================================================================================

Próbka trzech kaskadowych warstw z widokiem tabeli jako sidebar.

[email protected]:slavikshen/CascadeScrollView.git

Https://github.com/slavikshen/CascadeScrollView

To mój pierwszy commit do git huba. Proszę mi powiedzieć, jeśli coś jest nie tak.

 2
Author: Slavik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-06 05:33:03