2016-06-29 67 views

回答

2

我建議你參考這個answer通過@rob_mayoff

給您應該創建想不display.Please圖像的圓形貝塞爾路徑,這種方法僅當您希望工程要在圓上均勻分佈相同的圖像。如果要在圓上均勻分佈不同的圖像,則應該加倍努力。

你可以嘗試在兩個方面:

  1. 通過計算它們的中心繪製圓形每貝塞爾路徑。並以循環方式排列它們。你應該做一點數學。請注意,您有主圓的中心點(x,y),並將子圓圍繞中心點(x,y)放置,使得每個子圓中心到主圓中心的距離應該相同。要獲得劃分圓的線的確切座標,請參閱answer。一旦你得到了確切的座標,你可以將子圓放置在這些位置。

我會盡量給有關這樣一個粗略的想法:

考慮你有一個主要圓,圓心在(X0,Y0)。並且您希望將圓圈分成「n」個部分,將圖像放置在該圓圈上。這樣你就可以在這個主圈上放置n個imageView。下圖中的'n'部分用綠線表示。

每個綠線之間的角度爲360deg/N

否我們所需要的各綠線的終點。可從以下獲得:

sub.x = x0 + r * cos(angle); 
sub.y = y0 + r * sin(angle); 

其中r是主圓的半徑。

這是一個子圓。在yoour如果你有子圈的「N」數字,讓我們做一個循環來獲取所有子圈中心點:

 for(i = 1 to n) 
     { 
      angle = i * (360/n); 
      sub.x = x0 + r * cos(angle); 
      sub.y = y0 + r * sin(angle); 
     } 

enter image description here

現在你可以在每個畫一個圓形貝塞爾路徑「 N」子(X,Y)使用addArcWithCenter:center指向

其中中心將是所計算的子(X,Y)

  • 我想再次參照圖1是如果最好的方式你想做一切動力年。
  • +0

    好的,我會試試這個答案,但你能告訴我什麼是x0和y0,我怎樣才能得到它的值 –

    +2

    x0和y0是圓心的值 –

    +0

    ok我以爲我有爲它找到一些角度。 –