2015-09-28 106 views
0

我有一個UIView,其中我有一個UILabel。我想將UILabel.Font更改爲自定義UIFont,當UIView被點擊時(這擴大了可點擊面積,而不是使用UIButton)。更改UITapGestureRecognizer中的字體

要添加UITapGestureRecognizer,我使用下面的代碼:

var gestureRecognizer = new UITapGestureRecognizer ((item) => { 
    (item.View.Subviews[0] as UILabel).Font = Constants_iOS.FONT_OS_SMALL_LABEL_SEMIBOLD; 
}); 
view.AddGestureRecognizer (gestureRecognizer); 

字體更改被執行,並逐步執行代碼顯示的字體變化。但它不會在用戶界面中更新,並且該函數的所有後續執行也都以Font爲舊。

什麼問題?

回答

0

請注意,UITableview標題每次被點擊時都會重繪。所以你的字體改變不會持久。

0

加水龍頭selector方法。

let tap = UITapGestureRecognizer(target: self, action: Selector("handleTap:")) 
tap.delegate = self 
view.addGestureRecognizer(tap) 

func handleTap(sender:UIGestureRecognizer){ 
    //change your font here 
} 
+0

不,不起作用... – vrwim

+0

你有沒有添加'UIGestureRecognizerDelegate' – Mukesh

+0

是的,它仍然無法正常工作。但我認爲我得到了這個問題,我在UITableView的標題視圖中進行了這項操作,每次輕敲時顯然都會重建。所以我正在執行字體更改,然後重建headerview ... – vrwim