2015-09-14 28 views
-1

如何獲得x1 & x2原產地?如何獲得中點起源?

self.spinner=[[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 

    float x1,x2,y1,y2; 
    x1=self.view.frame.origin.x; 
    x2=self.view.frame.origin.x; 
    y1=self.view.frame.origin.y; 
    y2=self.view.frame.origin.y; 



    self.spinner.center=CGPointMake((x1+x2)/2,(y1+y2)/2); 

    [self.spinner startAnimating]; 
    [self.view addSubview:self.spinner]; 

我有一個微調,我嘗試把一個微調的中點,我知道這個概念,但如何獲取X1 & X2起源真的我有此困惑...

+0

但是'X1 == x2'和'Y1 == y2'所以沒有中點! – trojanfoe

+0

我只知道得到x原點,如何得到x2原點@trojanfoe –

+0

你有'x2'原點(與'x1'相同)。什麼是'x'? – trojanfoe

回答

1

我想你沒有被

float x1,x2,y1,y2; 
x1=self.view.frame.origin.x; 
x2=self.view.frame.origin.x; 
y1=self.view.frame.origin.y; 
y2=self.view.frame.origin.y; 

如果你必須把指標在中心視做點,

self.spinner.center = self.view.center; 
+0

它的工作對我來說,可是如何才能讓原點,真的我正在想知道的是,我將在2分鐘內接受你的答案與.. –

+0

如果你仍然想要得到的框架的中心還有其他辦法像, 'CGFloat的MIDX = CGRectGetMidX(self.view.frame);' OR 'CGFloat的MIDX = self.view.frame.width/2.0;' 希望它會幫助你。 –

+0

Ohhh ...對於最後的評論感到抱歉。我以爲你想用其他方式來計算中心。爲了計算原產地,你做對了。 'self.view.frame.origin.x;'是正確的。但你爲什麼要服用兩次?它根本沒有意義。它就像0 + 0/2.0! –

1

你誤會矩形如何表示,公式是基於使用兩個角,但NSRect存儲一個角落,origin,寬度和高度,size - 見the documentation。還有方便的宏來計算矩形的各種屬性(最大座標等) - 請參閱上面的文檔。

但是,對於此特定任務,您可能希望使用UIViewcenter屬性,這將爲您節省數學。

0
NSRect 

x,y,width & height 

它也有市中心的房地產,這是一個

CGPoint 

創建。 要手工做出來,

center.x = origin.x + size.width/2. 

。而同樣,對於

center.y