2011-01-03 4 views
3

Ich versuche, eine Schaltfläche erstellen genau so einrichten:UIButton gruppiert Buttons

alt text

Wie würde ich das tun? Kann mir jemand den Code zeigen? Gibt es eine Möglichkeit, UIButtons so zu "gruppieren"?

Antwort

9

Sie sollten einen UITableViewController mit den Abschnitten verwenden.

Jede der Gruppen ist ein Abschnitt, also sollten Sie mit - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView zurückgeben, wie viele Abschnitte Sie haben.

Für jeden Abschnitt möchten Sie angeben, wie viele Zeilen es mit - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section gibt.

Sie möchten jede Zelle mit - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath anpassen (die Ihnen übrigens sagt, welche Abschnitt bestimmte Zeile Sie in der indexPath Variable ändern).

Schließlich möchten Sie die Zeile Klick in - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath zu handhaben, mit dem Muster XCode für Sie sieht vor:

[self.navigationController pushViewController:detailViewController animated:YES]; 
[detailViewController release]; 

hoffe, das hilft!

+0

Um Ihre Frage weiter zu beantworten, können Sie dies tun, ohne sie 'UIButton' zu haben. Verwenden Sie einfach einen 'UITableViewController' und lassen Sie ihn auf die Auswahl von Zellen reagieren. – donkim

1

Das ist eine UITableView-Gruppe mit zwei Zeilen (Zellen). Der Tabellenstil ist UITableViewStyleGrouped. Ich würde empfehlen, auf die Auswahl der Zelle mit der Delegierten –tableView:didSelectRowAtIndexPath: Methode im Gegensatz zu UIButtons innerhalb der Zelle zu reagieren - viel schöner visueller Effekt.

0

Sie können uibuttons nicht so gruppieren. Sie können dieses Look-and-feel auf mehrere Arten erreichen, am elegantesten ist es, den gruppierten Stil uitableview zu verwenden. Wenn Sie jedoch möchten, dass Ihre Schaltflächen nur so aussehen, aber nicht genau so, können Sie auch Bilder für Ihre Schaltflächen angeben. Uglier Art und Weise es zu tun, jedoch viel einfacher ...