我的代碼那樣:我用CGAffineTransformMakeRotation以旋轉的標籤,爲什麼只有文本旋轉
[label2 setTransform:CGAffineTransformMakeRotation(-M_PI/2)];
循環之前一樣遵循
像
旋轉後
任何人都可以告訴我爲什麼,謝謝?
我的代碼那樣:我用CGAffineTransformMakeRotation以旋轉的標籤,爲什麼只有文本旋轉
[label2 setTransform:CGAffineTransformMakeRotation(-M_PI/2)];
循環之前一樣遵循
像
旋轉後
任何人都可以告訴我爲什麼,謝謝?
你可以做這樣的事情:
-(NSPoint)rotatePoint:(NSPoint)inPt
aroundPoint:(NSPoint)center
withAngle:(double)radians
{
NSPoint temp = {inPt.x - center.x, inPt.y - center.y};
double sinAngle = sin(radians);
double cosAngle = cos(radians);
NSPoint result;
result.x = temp.x * cosAngle - temp.y * sinAngle;
result.y = temp.x * sinAngle + temp.y * cosAngle;
result.x += center.x;
result.y += center.y;
}
然後調用上述方法的4個角你旋轉視圖的框架,而框架設置爲新值。
我明白你說的是什麼,但是有沒有API設置框架與4角的價值? – Dracuuula
我不這麼認爲。您可以轉換4個點,然後取x和y座標的最小值和最大值,然後使用這些值創建新的矩形。 – user1118321
你是如何繪製綠色的矩形?它只是文本字段的背景顏色?如果是這樣,那麼它可能繪圖正確。更改轉換不會轉換其容器內視圖的邊界矩形 - 只能在視圖內繪製。如果你想改變視圖的框架,你需要手動完成。 – user1118321
@ user1118321先謝謝。如果是這樣,我怎樣才能旋轉標籤框架的任何角度? – Dracuuula
@Dracuuula這裏角度以弧度表示,只需設置合適的值以進行旋轉,並且如果需要,您可以執行轉換以標記超級視圖 – sage444