Ich erstelle ein Brettspiel, das auf dem Schachbrett basiert. Um das Brettspiel zu schaffen, ich dies tat:Umwandlung eines CGRect von einer Ansicht in Superview funktioniert nicht
- ein Schachbrett Stellen in 8 Spalten von weißen und Block Quadrate unterteilt.
- Ich habe ein XIB erstellt, um die geraden Spalten darzustellen. Das XIB ist eine vertikale
UIStackView
von weißen und schwarzen Quadraten. - Ich habe ein zweites XIB erstellt, um die ungeraden Spalten darzustellen. Diese XIB ist eine vertikale
UIStackView
von schwarzen und weißen Quadraten. - auf dem Storyboard Ich erstellen die Board-Ansicht und fügen Sie diese Spalten, gerade, ungerade, gerade, ungerade usw., um die Vollpension mit 8 Spalten mit jeweils 8 Quadrate darzustellen. Also ich habe dies:
`BOARD VIEW` | ├─ EVEN COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ ODD COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ EVEN COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ ODD COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ EVEN COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ ODD COLUMN VERTICAL UISTACKVIEW with 8 vertical squares ├─ EVEN COLUMN VERTICAL UISTACKVIEW with 8 vertical squares └─ ODD COLUMN VERTICAL UISTACKVIEW with 8 vertical squares
Jetzt möchte ich den Rahmen eines Quadrats erhalten, die in einer dieser Spalten ist und dass der Vorstand mit dem Rahmen Referenz zu konvertieren.
ich dies auf MyBoardView.m
:
CGRect convertedFrame = [self convertRect:[aSquare frame] toView:self];
self
die Platine Ansicht ist, aSquare
ist ein Quadrat, das innerhalb eines Stapels ist, der innerhalb self
ist. Diese Konvertierung hat keine Auswirkungen. convertedFrame
entspricht [aSquare frame]
.
Ich denke, dass das Problem ist, dass UIStackView
ist keine Ansicht. Wie löse ich das?
brilliant! Vielen Dank!!!!! – SpaceDog