Ich möchte, dass eine meiner Tabellenzeilen eine Schaltfläche ist, die eine ganze Reihe meiner UITableView belegt. Ich dachte, der beste Weg, dies zu tun, ist ein UIButton instanziieren, und geben Sie ihm die gleiche Frame-Größe wie eine Instanz von UITableViewCell, und fügen Sie das als eine Unteransicht der Zelle hinzu. Ich bin fast da, aber ein paar Pixel entfernt, um die perfekte Note nicht zu bekommen. Gibt es dafür einen besseren Ansatz, oder kann meine Platzierungsgenauigkeit korrigiert werden, um die perfekte Ausrichtung zu erreichen?
%Vor%Sie können es in Ihrer didSelectRowAtIndexPath: Methode vortäuschen. Lassen Sie die TabelleView-Zelle als Schaltfläche fungieren.
%Vor% Verwende setSelected: animated:
, um einen Knopfdruck zu fälschen und ihn zu verblassen.
Könnte den Trick für dich tun.
Die Klasse (UITableViewCell) hat die Eigenschaft contentView. Also habe ich grundlegende Schaltfläche in ContentView von UITableViewCell Variable.
%Vor%Sorry, mein Englisch ist schlecht.
Wenn Sie möchten, dass es perfekt passt, nennen Sie einfach die Grenzen der Zelle als CGRect. mach es so:
%Vor%Das sollte dazu führen, dass dein Knopf genau derselbe ist wie deine Zelle. Ich hoffe, das hilft!
Schnur
Dies mag neben dem Punkt liegen, aber Ihr Code hat möglicherweise das Problem, dass der Zelle bei jeder Wiederverwendung der Zelle ein weiterer Knopf hinzugefügt wird.
Sie können eine Ansicht auch mit einer Schaltfläche erstellen und in die Fußzeile des darüber liegenden Abschnitts einfügen. Auf diese Weise müssen Sie sich nicht um das Zellbild im Hintergrund kümmern. Ich habe dies getan, um zwei halbbreite Schaltflächen nebeneinander in einer gruppierten Tabellenansicht zu platzieren.
FWIW, ich habe den Button in meiner App bei CGRectMake (9, 0, 302, 45) und ich denke, es sieht perfekt aus.
Tags und Links iphone