1

これで使用しているアプローチが少し間違っている可能性があります。もしそうなら、誰かがアドバイスできるかもしれません...しかし、いずれにせよ、レスポンダーウィジェットを作成するために私が取り入れたパターンには、下位互換性のあるボタンの動作を任意のビューに追加するための UIView の境界。私のニーズでは、これは完全にうまく機能します。このハイブリッド ボタンを使用するユーザー エクスペリエンスを少し改善するために、ボタンの showsTouchWhenHighlighted を YES に設定しました。これは正常に機能しますが、ボタンの「グロー」はボタンの親 UIView によってクリップされます。私はもう試した;

button.layer.masksToBounds = NO;
button.clipsToBounds = NO;
parentView.layer.masksToBounds = NO;
parentView.clipsToBounds = NO;

しかし、これらのどれもグローがparentViewの境界を逃れることを許可しません。それは非常に小さな外見上の問題ですが、これを機能させると見栄えが良くなると思います

誰かが助けてくれることを願っています! ありがとう

4

1 に答える 1

0

私はこのようなコードを使用していますが、グローは親によってクリップされていません-検証およびテスト済みです。

UIButton myButton = [[UIButton alloc] init....];
[parentView addSubview:myButton];
myButton.showsTouchWhenHighlighted = YES;
parentView.clipsToBounds = NO;

ボタンに .clipsToBounds = NO を設定する必要はありません。デフォルトは既に NO です。

プロパティを設定するときに nil 以外であることを確認しparentViewましたか? UIViewまた、グロー エフェクトをクリッピングしている可能性のある階層がさらに上位にないことも確認してください。

于 2013-08-19T18:00:51.587 に答える