【发布时间】:2017-05-18 13:37:19
【问题描述】:
我正在创建一个基于棋盘的棋盘游戏。 为了创建棋盘游戏,我这样做了:
- 想象一个棋盘被分成 8 列白色方块和方块。
- 我创建了一个 XIB 来表示偶数列。该 XIB 是由白色和黑色方块组成的垂直
UIStackView。 - 我创建了第二个 XIB 来表示奇数列。那个 XIB 是一个垂直的
UIStackView的黑白 squares.column。 - 在情节提要上,我创建了棋盘视图并添加了这些列,偶数、奇数、偶数、奇数等,以表示整个棋盘,有 8 列,每列有 8 个正方形。所以我有这个:
`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
现在我想获取其中一列内的正方形框架,并将其转换为板的框架参考。
我在 MyBoardView.m 上这样做:
CGRect convertedFrame = [self convertRect:[aSquare frame] toView:self];
self 是棋盘视图,aSquare 是位于self 内的堆栈内的一个方格。此转换无效。 convertedFrame 等于 [aSquare frame]。
我认为问题在于UIStackView 不是视图。我该如何解决?
【问题讨论】:
标签: ios objective-c iphone uistackview