2015-06-26 38 views
1

enter image description here添加上I​​mageView的IOS(目標C)

我需要一些幫助,讓這件事的工作線..

基本就按一下按鈕,我要補充與圈終點的線固定寬度的在ImageView上。用戶最多可以添加5行。如果我點擊任何圓圈(紅點)的終點,它應該允許調整行的大小。點可以拖動到屏幕上的任何位置,並且線必須是直的。最後,我應該能夠計算每一行的長度。我只是花了很多時間,並提及其他類似的答案。但到目前爲止,沒有運氣..任何參考代碼或鏈接非常感謝。 謝謝!

+0

這在'viewDidLoad'功能,它將被稱爲在開始,但不是再次。所以它正在工作。你的'handleOnTap'類型的函數的代碼是什麼? – dstudeba

+0

不幸的是,我不明白如何進一步進行..因爲我必須在ImageView上添加對象,用戶最多可以添加10行。我的第一個疑問是,我應該使用什麼來顯示LINE,UiView或UiImage ....這是我迄今爲止所做的。謝謝 – inox

+0

對不起,但這不是我要開始的第一個地方。嘗試一些關於處理按鈕點擊和用戶屏幕交互的教程,並修改它們以做到這一點,或稍後再回來。 – dstudeba

回答

2

哇,從哪裏開始。好的,首先,你不應該在你的ViewController的「viewDidLoad」方法中進行繪圖。你應該創建一個UIView的子類(我們稱之爲DrawView)並在「drawRect」方法中完成所有的繪圖。然後在DrawView中,你可以攔截觸摸。

因此,要獲得更確切的一點:

  1. 創建的UIView的子類,稱爲drawView函數
  2. 移動繪圖到drawRect方法
  3. 在drawView函數,過度乘坐各種「touchesXXXX」的方法(的UIResponder)來檢測和響應觸摸並找出已觸摸的形狀
  4. 在故事板中,將UIView對象拖到ViewController上並確保其類被設置爲「DrawView」。

這是初學者。甚至沒有談到如何記錄/存儲你的各種點和形狀。

+0

欣賞你的幫助以獲取描述..也可以給我一些鏈接我可以參考/學習和做到這一點。基本上我剛剛開始一個月前..不能只是解決沒有看到代碼..謝謝 – inox

+0

當然,雷文德利赫的網站是優秀的... ...這裏有一個,但絕對去看看他的網站上的其他教程:http://www.raywenderlich.com/1768/uiview-tutorial-for-ios-how-to-make-a-custom-uiview-in-ios- 5-a-5-star-rating-view – cbiggin

1

要在圖像上繪製線條視圖,即使在視圖中加載下面的代碼也適用於我。

第一 INT圖像視圖

第二寫入以下代碼

//line 1 
CAShapeLayer *shapeLayerOne = [CAShapeLayer layer]; 
shapeLayerOne.path = [LineOne CGPath]; 
shapeLayerOne.strokeColor = [[UIColor blueColor] CGColor]; 
shapeLayerOne.lineWidth = 1.0; 
shapeLayerOne.fillColor = [[UIColor clearColor] CGColor]; 

//line 2 

CAShapeLayer *shapeLayerTwo = [CAShapeLayer layer]; 
shapeLayerTwo.path = [LineTwo CGPath]; 
shapeLayerTwo.strokeColor = [[UIColor blueColor] CGColor]; 
shapeLayerTwo.lineWidth = 1.0; 
shapeLayerTwo.fillColor = [[UIColor clearColor] CGColor]; 


//line 3 

CAShapeLayer *shapeLayerThree = [CAShapeLayer layer]; 
shapeLayerThree.path = [LineThree CGPath]; 
shapeLayerThree.strokeColor = [[UIColor blueColor] CGColor]; 
shapeLayerThree.lineWidth = 1.0; 
shapeLayerThree.fillColor = [[UIColor clearColor] CGColor]; 


//line 4 

CAShapeLayer *shapeLayerFour = [CAShapeLayer layer]; 
shapeLayerFour.path = [LineFour CGPath]; 
shapeLayerFour.strokeColor = [[UIColor blueColor] CGColor]; 
shapeLayerFour.lineWidth = 1.0; 
shapeLayerFour.fillColor = [[UIColor clearColor] CGColor]; 


[self.view.layer addSublayer:shapeLayerOne]; 
[self.view.layer addSublayer:shapeLayerTwo]; 
[self.view.layer addSublayer:shapeLayerThree]; 
[self.view.layer addSublayer:shapeLayerFour]; 

你的輸出是藍色的線

+0

哇,,,我怎樣才能讓他們移動觸摸紅點,,任何想法 – inox

+0

簡單的解決辦法是,你可以初始化你的線與圖像視圖和使用捏手勢 –