2016-03-19 18 views
0

我有一個UIButton的子類:UIButton的子類忽略「潤色」的內部事件

import UIKit 
    class CustomButton: UIButton { 

     required init?(coder decoder: NSCoder) { 
      super.init(coder: decoder) 

      //Customizing the button appearance 
     } 
    } 

在Interface Builder中,故事板,在我主視圖控制器,我拖放一個樣按鈕,並改變它是從下拉菜單到CustomButton的'Custom Class'。

將它的'Touch Up Inside'事件連接到IBAction。

外觀自定義代碼出現,但按鈕沒有觸發'Touch Up Inside'

當我在子類中檢查觸摸事件(觸摸開始,結束,吃東西)時,該按鈕似乎正在接收觸摸。

回答

0

發現問題:

當我自定義按鈕,我添加了一個UIVisualEffectView作爲其子視圖,涵蓋了整個框架,並取消了任何事件的按鈕能夠採取。很不幸。

我不得不使用UIView子類並添加輕擊手勢來模仿觸摸事件。

2

嘗試在子視圖上禁用用戶交互,這些子視圖是UIButton的一部分。這將允許手勢繼續到按鈕本身。

userInteractionEnabled = false