Nicht sicher, aber sollten Sie keine Grenzen in Betracht ziehen, anstatt Rahmen Ihres SmallSubView?
ich meine:
let rect = smallSubview.convert(smallSubview.bounds, to: bigSuperview)
EDIT
ich nicht Ihren Kommentar in Antwort hätte meine Antwort daher Aktualisierung beantwortet :)
Die Schnellansicht von convert API schlägt
func konvertieren (_ rect: CGRect, zu sehen: UIView?) -> CGRect Beschreibung
Konvertiert ein Rechteck aus dem Koordinatensystem des Empfängers in das von eine andere Ansicht.
Parameter
rect ein Rechteck in dem lokalen Koordinatensystem spezifiziert (Grenzen) des Empfängers.
Ansicht Die Ansicht, die das Ziel der Konvertierung ist. Wenn die Ansicht null ist, wird diese Methode stattdessen in Fensterbasiskoordinaten konvertiert. Ansonsten müssen sowohl view als auch der Empfänger zum selben UIWindow-Objekt gehören.
Wie es empfiehlt Ihnen, Grenzen werden sollten, anstatt Rahmen :)
Was ist der Unterschied zwischen Rahmen und Grenzen dann unter Berücksichtigung ??
Grenzen: Gibt den Standort und die Größe der Ansichten in einem eigenen Koordinatensystem an. Frame: Während dies den Ort und die Größe der Ansicht in seinem SuperViews Koordinatensystem spezifiziert :)
Daher werden Grenzen einer beliebigen Ansicht ihren Ursprung haben als (0,0) wo Frame hat seine x und y in Bezug auf seine superview :) während Höhe und Breite gleich sein :)
Bitte beachten Sie meine aktualisierte Antwort für die Erläuterung zu Ihrem Kommentar –