ボタンを押したときにスクリーンにアニメーション表示される2つのUIButton
があります。しかし、私はボタンが押されていないと思うので、ボタンのターゲット関数のどちらも呼び出されません。画面上にボタンを作成するだけでボタンが機能するので、ボタンの外側から画面上にアニメートされているボタンに関連していると思います。オフスクリーンUIButtonアクションがトリガーされていません - iOS
編集:ボタンは画面上に正しくアニメーション表示され、表示されますが、押しても何も起こりません。
コード:
var isMenuOpen : Bool = false
var button_height : CGFloat = UIScreen.mainScreen().bounds.height/8
var button_view : UIView!
var mylists : UIButton!
var settings : UIButton!
@IBAction func openMenu(sender: AnyObject) {
UIView.animateWithDuration(0.6, delay: 0.0, options: .CurveEaseOut, animations: {
self.view.transform = CGAffineTransformMakeTranslation(0.0, self.button_height * (self.isMenuOpen ? 0 : -1))
}, completion: {finished in
self.isMenuOpen = !self.isMenuOpen
})
}
override func viewDidLoad() {
super.viewDidLoad()
initButtons()
}
func initButtons() {
button_view = UIView(frame: CGRect(x:0.0, y:UIScreen.mainScreen().bounds.height, width:UIScreen.mainScreen().bounds.width, height:button_height))
button_view.userInteractionEnabled = true
mylists = UIButton(frame: CGRect(x:0.0, y:0.0, width:UIScreen.mainScreen().bounds.width/2.0, height:button_height))
mylists.setTitle("My Lists", forState: .Normal)
mylists.backgroundColor = UIColor(red: 255/255, green: 105/255, blue: 180/255, alpha: 1.0)
mylists.addTarget(self, action: #selector(showLists(_:)), forControlEvents: .TouchUpInside)
button_view.addSubview(mylists)
settings = UIButton(frame: CGRect(x:UIScreen.mainScreen().bounds.width/2.0, y:0.0, width:UIScreen.mainScreen().bounds.width/2.0, height:button_height))
settings.setTitle("Settings", forState: .Normal)
settings.backgroundColor = UIColor(red: 135/255, green: 205/255, blue: 236/255, alpha: 1.0)
settings.addTarget(self, action: #selector(showSettings(_:)), forControlEvents: .TouchUpInside)
button_view.addSubview(settings)
self.view.addSubview(button_view)
}
func showLists(sender: UIButton!) {
print("showLists")
}
func showSettings(sender: UIButton!) {
print("showSettings")
}
すべてのヘルプは高く評価されます。ありがとう!
ボタンはアニメーションの後に表示されます。彼らのコンテナも画面上にあることを意味しないでしょうか? – Dando18
表示されますがクリックできません。 – impression7vx
ボタンが押されたときにボタンがハイライト表示されないようになっているため、フレームが無効になっているか、フレームが何らかの理由でオフラインになっていますが、デバッグと 'print'ステートメントは私にはありません。 – Dando18