2017-06-22 11 views
1

UILabelを拡張して、その一部をクリック可能にする必要があります。そのためには、サブクラス化して透明なUIViewをタップハンドラで追加する必要があります。問題は、あらかじめクリック可能な領域がわからないので、テキストをサイズ変更/変更/レイアウトするたびに、それらの数値を再調整する必要があることです。そのための適切な方法は何ですか?UILabelのレイアウトをオーバーライドして、ジェスチャー処理を伴うサブビューを追加する

答えて

2

ラベルをレイアウトする必要があるときはいつでも、layoutSubviewsが呼び出されます。それを上書きし、super.layoutSubviews()に電話した後、あなたのサブビューを調整してください。

override layoutSubviews() { 
    super.layoutSubviews() 
    // Do additional work that needs to happen each time view layout happens 
    .... 
} 
関連する問題