• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Klicks kommen nicht nicht in Buttons in UITableViewCell an

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Hallo,

ich habe da ein Problemchen, vielleicht kann mir ja hier jemand weiterhelfen.
Ich erzeuge eine Reihe von Buttons
Code:
   UIButton *myQuad = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 150, 150)];
    [myQuad addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventAllEvents];

und füge diese in der tableView:cellForRowAtIndexPath:-Funktion eine UITableViewCell ein:
Code:
UIView *rowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ..., ...)];
...
// Sei "button" ein wie oben erzeugter UIButton, i die aktuelle Position in der Reihe von Buttons,
// cellWidth/cellHeight die Größe der Buttons
button.center = CGPointMake(i*(cellWidth+20)+(cellWidth/2), floor(cellHeight/2));
[rowView addSubview:button];
...
[[cell contentView] addSubview:rowView];
return cell;

Gezeichnet werden die Buttons korrekt:
GridView.png

Aber die Callback-Funktion, die mit addTarget: festgelegt wurde, funktioniert nur in der vorderen Hälfte des ersten Buttons. Die anderen Buttons reagieren einfach nicht auf Klicks.
Hat jemand eine Idee, woran das liegen könnte?

Grüße,
Michael
 

MikeZ

Freiherr von Berlepsch
Registriert
19.01.05
Beiträge
1.116
Hat sich erledigt... Es lag an dieser Zeile:
Code:
 UIView *rowView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, ..., ...)];

An dem Teil, den ich ausgepunktet hatte. ;) Die View, in die ich die Knöpfe gepackt hatte, war einfach zu klein. Was aber nicht aufgefallen ist, weil clipsToBounds nicht so gesetzt war, dass es abgeschnitten worden wäre... Wieder einen Fallstrick mehr kennengelernt ;)

Grüße,
Michael