Hallo zusammen,
Ich habe folgendes Problem: Ich möchte eine Lasche (UIView) am Rande des Screens positionieren. Sobald der User an dieser "zieht" soll die Lasche mitsamt weiterer Bedienelemente herausgefahren werden. Kann mir jemand hier einmal bei dem Konzept helfen?
Ich dachte eigentlich es reicht einen eigenen UIViewController zu erstellen, der 2 UIViews besitzt, eine für die Lasche und eine für den auszufahrenden Content. Das klappt aber leider nicht, denn sobald bei einer UIVIew auf dem ViewController setUserInteractionEnabled:FALSE aufgerufen wurde, ist KEINE der Views mehr "anklickbar".
Alles anzeigen
Bei dem oben angebildeten Code wird das touchesMoved Event leider nicht ausgeführt - hat jemand ne Idee bzw. nen Vorschlag das zu realisieren?
Ich habe einmal einen Screenshot mit angehängt - hier soll der blaue Bereich nicht anklickbar sein bzw. die Interaktion direkt an die View darunter weiterreichen.
Danke & Grüße
Dennis
Ich habe folgendes Problem: Ich möchte eine Lasche (UIView) am Rande des Screens positionieren. Sobald der User an dieser "zieht" soll die Lasche mitsamt weiterer Bedienelemente herausgefahren werden. Kann mir jemand hier einmal bei dem Konzept helfen?
Ich dachte eigentlich es reicht einen eigenen UIViewController zu erstellen, der 2 UIViews besitzt, eine für die Lasche und eine für den auszufahrenden Content. Das klappt aber leider nicht, denn sobald bei einer UIVIew auf dem ViewController setUserInteractionEnabled:FALSE aufgerufen wurde, ist KEINE der Views mehr "anklickbar".
Quellcode
- - (id)initWithFrame:(CGRect)frame {
- self = [super initWithNibName:nil bundle:nil];
- if (self) {
- self.view = [[UIView alloc] initWithFrame:CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, frame.size.height+50)];
- [self.view setBackgroundColor:[UIColor blueColor]];
- [self.view setUserInteractionEnabled:FALSE];
- // bg ist die Detailansicht
- UIView *bg = [[UIView alloc] initWithFrame:frame];
- [bg setBackgroundColor:[UIColor redColor]];
- [bg setAlpha:0.7];
- [self.view addSubview:bg];
- [bg setUserInteractionEnabled:FALSE];
- [bg release];
- // Hierbei handelt es sich um die "Lasche"
- UIView *buttstrap = [[UIView alloc] initWithFrame:CGRectMake(270, frame.size.height, 50, 50)];
- [buttstrap setBackgroundColor:[UIColor greenColor]];
- [buttstrap setAlpha:0.7];
- [bg setUserInteractionEnabled:TRUE];
- [self.view addSubview:buttstrap];
- }
- return self;
- }
- - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
- NSLog(@"touch!!!");
- }
Bei dem oben angebildeten Code wird das touchesMoved Event leider nicht ausgeführt - hat jemand ne Idee bzw. nen Vorschlag das zu realisieren?
Ich habe einmal einen Screenshot mit angehängt - hier soll der blaue Bereich nicht anklickbar sein bzw. die Interaktion direkt an die View darunter weiterreichen.
Danke & Grüße
Dennis
"Die Steinzeit ging auch nicht zu Ende weil die Steine ausgingen"