Origin.y definiert ist, zu erhalten in ein unintuitives.
Zuerst nach unten bewegt, ist positiv und bis negativ ist (auch bekannt als größere Zahlen bedeuten die Ansicht weiter unten auf dem Bildschirm angezeigt).
Zweitens ist der Ursprung relativ zu der oberen linken Ecke der unmittelbar übergeordneten Ansicht (in Ihrem Fall der Zelle). Wenn origin.y wirklich -1.5 ist, dann befindet sich der obere Teil der Schaltfläche nur anderthalb Punkte über dem oberen Rand der Tabellenansichtszelle (was wahrscheinlich klingt). Wenn Ihre origin.y wirklich 400-ish-Punkte sein sollte, bedeutet dies, dass sie in Ihrer UITableViewCell erscheinen müssen, damit Ihre tableViewCell über 400 Punkte groß sein muss.
Das könnte der Fall sein, aber ich frage mich, ob was Sie suchen, ist nicht origin.y, aber wie weit unter der Spitze der Root-Ansicht (self.view in Ihrem View-Controller) die Spitze Ihres Knopf ist. Wenn ja versuchen:
CGPoint originInRootview = [self.view convertPoint:CGPointZero fromView:self.favoriteButton];
CGFloat theNumberIThinkYouWant = originInRootview.y
Wie wird der Rahmen von 'self.favoriteButton' gesetzt? Welchen Wert sollte das "Ursprung" haben? – rmaddy
Es ist in Storyboard gesetzt. Es sollte wie 400 etwas sein. – birdcage
Anruf [self.view layoutIfNeeded]; bevor Sie den CustomRect erhalten. Wenn Sie AutoLayouts –