2014-01-30 20 views
0

我將如何創建一個程序,使一個點開始在中心,當我點擊屏幕點跟隨我點擊的地方?不像傳送給它的那樣,我的意思是像每稍稍點擊一次就對其進行協調。我得到我怎麼能做到這一點在理論上,如像Objective C iPhone編程點或形狀來跟隨你的光標

if (mouseIsClicked) { 

    [mouseX moveX]; 
    [mouseY moveY]; 

} 

,使類mouseX和mouseY的是有一些方法靠攏鼠標的位置,但我只是不知道任何細節真正實現它。哎呀,我甚至不知道如何生成一個點!這些指南都沒有幫助。我真的很想學習這門語言。我一直在坐在我的Mac上試圖讓任何東西工作,但沒有任何工作靠近我想要的東西。

感謝您幫助像我這樣的新手。

+0

如何點擊手機屏幕?你如何在iPhone上使用鼠標? – nhgrif

+0

我的意思是模擬器。就像在我點擊模擬器來讓它像這樣工作時一樣。 – Aetharius

+0

你應該閱讀處理觸摸和響應者鏈。 – Caleb

回答

0

您可以下載示例代碼here,它會顯示一般的iOS手勢。特別是它有一個示例,顯示如何拖放UIViews或如何滑動它們。示例代碼包括驅動和火災遺忘動畫。看看它的評論,我很樂意回答你在查看代碼後所具有的任何具體問題。

生成一個簡單的圓形

// Above Implementation 
#import <QuartzCore/QuartzCore.h> 

// In viewDidLoad or somewhere 
UIView *circleView = [[UIView alloc] initWithFrame:CGRectMake(32.0, 32.0, 64.0, 64.0)]; 
[circleView setBackgroundColor:[UIColor redColor]]; 
[circleView.layer setCornerRadius:32.0]; 
self.view addSubview:circleView]; 
+0

我檢查了一些東西,並意識到如何找到鼠標的位置,並已經做出了一些動作。但是,如何以簡單的形狀生成? – Aetharius

+0

檢查我添加的示例代碼。還檢出github上的代碼。我將UIViews和UILabels放置在每個手勢與之交互的地方。 –

+0

Alrighty,我會檢查出來 – Aetharius

1

如果你要繼承UIView的,你可以使用的touchesBegan/touchesMoved/touchesEnded方法來做到這一點。喜歡的東西:

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    CGPoint p = [touch locationInView:self]; 
     //slightly update location of your object with p.x and p.y cgpoints 
    [self setNeedsDisplay]; 
} 

-(void)drawRect{ 
     //draw your object with updated coordinates 
} 
+0

呵呵,這真的很酷。不知道那樣的東西在那裏。但是,我怎麼會真正畫出矩形呢? – Aetharius

1

您可以創建一個點,並基於所有在您UIViewController子水龍頭移動它。

通過創建配置吸引你想要的方式UIView讓你點 - 看看CALayer並設置dotview.layer.cornerRadius,使之成爲全面(或者你可以做一個UIView子類覆蓋drawRect:使CoreGraphics調用汲取什麼是正確的你要)。設置dotview.center來定位它。

使用視圖控制器中的操作方法創建UITapGestureRecognizer,該視圖控制器根據需要更新dotview.center。如果你想動畫,只需在視圖動畫調用&這樣的動畫塊設置屬性:

[UIView animateWithDuration:0.3 animations:^{ 
    dotview.center = newposition; 
}];