2017-12-15 3 views
0

私は一般的にSwiftとXCodeに少し新ですが、私が取り組んでいる遊び場アプリの最後の部分にはまっています。Swiftの画像フィールドビューへのシグネチャ出力の送信

名前を署名して「完了」をクリックして署名の画像をメインフォーム上のUIimageViewに戻すことができる署名表示付きのポップアップがあります。技術的には署名の「イメージ」を独自の小さなフレームに置くことができますが、私の人生の間、シグネチャのイメージを特にUIimageViewボックスに移動することはできません。

私のコードは、特に署名画像の出力に関連しています。

func signature(_ signature: Signature!, didCompleteWith signature: Signature1!) { 
      NSLog("-- signature completed. --") 

      // display the signature 
      outputImage.removeFromSuperview() 
      outputImage = signature.imageView 
      outputImage.frame = CGRect(x: self.view.frame.size.width/452, y:540, width: self.outputImage.frame.size.width, height: self.outputImage.frame.size.height) 
      view.addSubview(outputImage) 
} 

UIimageViewにそれを送ることが最善の選択肢である、またはそれ以上が存在することになる場合は種類の入力欄に画像を置くためにこの問題を回避した場合、私は好奇心旺盛です。

+0

"outputImage"(混乱を避けるために 'outputImageView'と名前をつけてください)は、"署名 "画像を表示したい場所に既にサイズが設定されていますか? – DonMag

+0

なぜあなたは 'Signature1'に' UIImageView'オブジェクトを渡していますか?ちょうど 'UIImage'を与えてください。上記の関数では、まず 'outputImage'コンテナを準備し(フレームを適用していくつかのビューに追加する)、それに署名画像を割り当てます:' outputImage.image = signature.image' –

+0

@VadimPopov、それでもエラーはポップアップし、どのようにそれを書くことをお勧めしますか? – Matthew

答えて

-1

あなたが提供したコードは、デバッグのための十分な情報を提供していません。したがって、Signature1クラスのコードと、signature関数環境を追加するか、Xcodeの下部ツールバーにあるのデバッグビュー階層をご覧ください。

enter image description here

それはあなたのビューの位置を点検し、あなたのoutputImageコンテナに何か問題がある場合、あなたはおそらく気づくようになります。

UIImageViewが適切な位置に配置されている場合は、署名から取得した画像オブジェクトの方向を掘る必要があります。あなたのoutputImageを想定し

0

UIImageViewで、すでに(元のコードは、そのスーパービューから削除されたという事実に基づいて)あなたがそれを望む場所にそれを持っていると仮定すると、あなたはこのようにそれを行うことができるようになります。

func signature(_ signature: Signature!, didCompleteWith signature: Signature1!) { 
     NSLog("-- signature completed. --") 

     // display the signature 
     outputImage.image = signature.imageView.image 
} 
関連する問題