iPhone: Benutzerdefinierte UITableViewCell mit mehreren Bereichen, die Taps reagieren?

StackOverflow https://stackoverflow.com/questions/2414464

  •  19-09-2019
  •  | 
  •  

Frage

Ich bin gebeten worden, eine benutzerdefinierte UITableViewCell mit mehreren Bereichen zu schaffen, die erschlossen werden können.

Diese Bereiche werden keine Schaltflächen haben oder Grafiken - sie unsichtbar sein werden. 3 verschiedene Methoden werden je nachdem, welche Drittel der Zelle bezeichnet werden, der Benutzer tippt d.

|| decrementFooCount || viewFooDetails || incrementFooCount ||

Die Zelle hat einige Etiketten auf, dass es jederzeit sichtbar sein müssen - die fooName und fooCount

.

Ich denke, vielleicht drei versteckte UIButtons über die Zelle?

Ich brauche auch die Swipe zu halten, um das Standardverhalten zu löschen.

War es hilfreich?

Lösung

Sie können Ihre UITableViewCell Unterklasse und die touchesBegan:withEvent: Methode außer Kraft setzen. Sie können dann eine CGPoint davon, wo die Berührung getätigt.

- (void)touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
   UITouch* touch = touches.anyObject;
   CGPoint location = [touch locationInView:self];

   if (CGRectContainsPoint(myTestRect, location)) {
       // Touched inside myTestRect, do whatever...
   } else {
      // Let the default implementation take over.
      [super touchesBegan:touches withEvent:event];
   }
}

Andrew

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top