私はメインののscrollerviewとカスタムUIView
クラスを持っています。このカスタムUIView
クラスは、プログラムによって、Button
とLabel
を作成するコード行がわずかです。 Button
クリックによって実行されるアクションはうまくいきますが、ボタンが長く、次の操作にタップx座標が必要なため、正確なタップ位置(CGPoint
)をボタンに表示する必要があります。私はいくつかのソリューションをstackoverflowから取得し、Label
とImageview
のような他のオブジェクトのために働いていますが、ボタンでは機能しません。Swift - カスタムUIViewクラスを使用して作成されたボタンのタップ位置を取得
マイカスタムUIViewクラス:メインのViewControllerで
import UIKit
class DrawProj: UIView {
override func drawRect(rect: CGRect) {
let button = UIButton(type: .System)
button.frame = CGRectMake(24, 15, linewidth - 25, 20)
button.backgroundColor = UIColor.orangeColor()
button.addTarget(nil, action: "onButtonTap:", forControlEvents: .TouchUpInside)
self.addSubview(button)
}
}
とコード
let DrawProjectLanes = DrawProj(frame: CGRect(x: startx, y: starty, width: endx , height: 50))
DrawProjectLanes.backgroundColor = UIColor.clearColor()
DrawProjectLanes.userInteractionEnabled = true
MainScroller.addSubview(DrawProjectLanes)
申し訳ありませんが、言及するのを忘れてしまった、カスタムUIViewクラスでscrollerviewにサブビューとして追加されます主UIViewController。最後に、私は、カスタムUIViewクラスの上にscrollerviewの上に作成されたボタンを持って、私の目標はボタンタップ(.addTragetを使用して行うことができる)を行い、ボタンのタップの正確なx座標を取得することですscrollerviewやメイン画面ではありません。 –