2015-05-12 51 views
0

我工作的Swift應用程序,允許拍照並在其上嵌入一些文本(例如:當前日期)。當我拍攝照片時,屏幕上會出現一些標籤(例如,包含當前日期)。如何取回在Swift中的UIImage嵌入文本的控制

感謝this topic,我成功地將我的文本嵌入到我的UIImage中。現在,當我在另一個ViewController中加載我的圖像時,我想允許用戶使用他的手指在圖像上移動文本並更改其顏色,因此我需要恢復對我的文本塊的控制。我該怎麼做 ?有人可以給我一些幫助嗎?

我認爲Ray Wenderlich tutorial可能有一些線索。

回答

0
  1. 從UIView的
  2. 一個子視圖添加到它創建一個自定義視圖繼承並在此子視圖(的UILabel,UITextView的,等等)的UIView
  3. 採用觸摸操作的方法來移動你的子視圖keed參考到竊聽的位置。

例如:

class MyCustomView : UIView { 
    var backgroundImage: UIImageView! 
    var dateLabel: UILabel! 

    init() { 
     // ... do job to handle image and create subviews 
    } 

    func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) { 
     if let aTouch = touches.first { 
       dateLabel.position = aTouch.locationInView(self) 
     } 
    } 
} 

此代碼需要被fullfilled,但你有一個算法和示例。

文森特

+0

當然,我錯過了一個點,你可以渲染視圖將它與通常的方法 –

+0

導出爲一個UIImage並保存爲JPG/PNG謝謝你的幫助。 我終於改變了主意,決定只在用戶移動它並點擊我的用戶界面上的「完成」按鈕時才嵌入文本。因此,用戶只能移動我的標籤一次。 – Zigzag

0

而是在圖像上繪製文本,並將其保存到磁盤爲JPG/PNG文件,你可以創建一個UIViewUIImageView並在它的UILabel。將UIView作爲圖像保存在相機膠捲中意味着拍攝視圖的快照並以所需的圖像格式將其保存到磁盤;但同時也使用NSKeyedArchiver保存到磁盤完全相同的UIView

這樣,只要需要使「圖像」(它是UIView)再次可編輯,就可以從NSKeyedUnarchiverUIView充氣。

參見:

How Do I Take a Screen Shot of a UIView?

How to serialize a UIView?

+0

謝謝,你給我的第一個鏈接非常有幫助。 – Zigzag

相關問題