動的に追加したボタンにジェスチャーを追加する
コードからボタンなどのオブジェクトを生成した時、
そのボタンを押されたとき、ドラッグされた時の処理を追加する
デザイナー(呼び方は正しいかわからない)からでは線を引っ張るだけだが、
コードではちょっとだけめんどい
でも思っていたよりは随分と楽にできたなと思う
040 GestureRecognizerのイベント取得 - Swift Docs
ここのサイトを参考に、
ジェスチャーイベントをボタンに追加する
let myPan = UIPanGestureRecognizer(target: self, action: #selector(ViewController.dragGesture(_:))) btn.addGestureRecognizer(myPan);
1行でもいいみたい
btn.addGestureRecognizer(UIPanGestureRecognizer(target: self, action: #selector(ViewController.dragGesture(_:))))
dragGestureというのはドラッグした時に呼ばれる関数
サイトのソースをそのままコピるとその使い方できないよ
ってなるので、(Use of string literal for Objective-C selectors is deprecated; use '#selector' instead)
アップルのページを参考にする
ボタンのデザインを変える
ボタンのデザインを設定できるカスタムクラスを作り、
そのクラスでボタンを生成することでボタンの角を丸くしたり、ボーダーの色を変えることができます
SWIFTのバージョンでやっぱり怒られた
変更したコードは以下の通り
import UIKit @IBDesignable class Button_Custom: UIButton { @IBInspectable var textColor: UIColor? @IBInspectable var cornerRadius: CGFloat = 0 { didSet { layer.cornerRadius = cornerRadius } } @IBInspectable var borderWidth: CGFloat = 0 { didSet { layer.borderWidth = borderWidth } } // @IBInspectable var borderColor: UIColor = UIColor.clearColor() { // didSet { // layer.borderColor = borderColor.CGColor // } // } @IBInspectable var borderColor: UIColor = UIColor.clear { didSet { layer.borderColor = borderColor.cgColor } } }
swiftでカメラロールの写真を表示する
基本的には以下のコードなんですが、swiftのバージョンによりエラーになってしまいます
難儀ですね
以下のサイトのimagePickerController関数の引数をご参考ください
選択した画像を取得するのは
let image = info[.originalImage] as! UIImage
を参考に
ぶつかってきたオブジェクトがメンバ変数を参照する
シューティングゲームなど、
例えばAにBがぶつかったとき、Bが持っている変数を参照するやりかたを書いてみる
void OnTriggerEnter2D (Collider2D c) { Debug.Log (c.GetComponent<(Bが持つスクリプトファイルのクラス名)> ().(参照したい変数名));
C#の命名規則
C++でいうところのメンバ変数はどう書けばいいんだか・・・