2014-04-10 78 views
0

我正在尋找旋轉UILabel 45度(右側)的定位點(UILabel的中心),並將它位於表格單元格的右側,因此它看起來像是表格單元格中的對角線,從單元格的右下角向上並向左側,直到它碰到單元格的頂部。iOS SDK Triangle ASA或AAS(角度 - 側角或角度 - 側)公式

要做到這一點(對角線)我做了以下內容:

獲取表格單元格的高度。這給了我(在一個三角形的邊a,b,c)「c」。所以,「c」是三角形的一條腿。因爲我想讓它成爲一個45度的三角形,這也給了我一條三角形的「a」。

現在簡單的部分:我知道這個三角形的所有三個角度。 「C」(與c邊交叉的角度)是45度,「B」(與b邊交叉的角度)是90(cos是單元格內容視圖的右上角......我們知道這些是正確的角度「A」(側面「a」的角度)也是45.

側面「b」是我所適合的一側......我用什麼公式來獲得側面的長度「 b「,它足夠寬,可以從單元的內容視圖的高度(從對角線)越過單元格的內容視圖的高度,直到它到達單元格的頂部?我知道對於44pt高單元格,這個UILabel的長度應該是對角線這個公式是逃避我的

當使用在線計算器Triangle Calculator和使用下拉的角度角,我喂以下數字:答:45,乙:45,C:44,這給出:邊長爲62.2254 ......這很好......但我的表格單元並不總是44pts高,所以我需要一個公式我可以放在objective-c中。我已閱讀了錫恩斯的法律,但我的高中時光在我身後。

我希望這一切都很清楚。如果沒有,請讓我知道。提前致謝。

回答

2

如果我正確理解你,你將永遠有一個直角和另外兩個45度的三角形。如果這種三角形的短邊(兩者長度相同)爲X,則長邊爲square root from 2*X*X

+1

在一般情況下,這被稱爲[畢達哥拉斯定理](http://en.wikipedia.org /維基/ Pythagorean_theorem)。 – omz

+0

@omz:你絕對正確:) – sha

+0

因此,因爲單元格的高度是44pt,那麼sqrt(2 * 44 * 44)...或62 !!!哦,我太棒了!我從來沒有想過會那麼簡單!謝謝!我希望我能給多個提升! – Jann