1

カスタマイズされた背景画像に正確にフィットするように、UIButtonサイズ =で非常に薄いものを作成しようとしています。CGSizeMake(75, 23)そして、ボタンにタイトルを付けたいと思います。

私が呼び出しsetTitle:forState:た後、タイトルの周りのパディングを考慮してボタンのサイズが変更され、背景画像が台無しになります(つまり、タイルが非常に見苦しくなります)。サブビューでタイトルフォントを非常に小さいサイズに設定したUILabelため、問題の原因はフォントではなくパディングです。したがって、このパディングを削除したいと思います。contentEdgeInsetsimageEdgeInsetsおよびtitleEdgeInsetsのプロパティのデフォルト値UIButtonは allUIEdgeInsetsZeroであるため、パディングはUILabelサブビューのどこかにあると思います。UILabelもしそうなら、サブクラス化してオーバーライドすることでそれを排除できると思いますtextRectForBounds:limitedToNumberOfLines:が、よくわかりません(これを試した人から聞いてうれしいです)。いずれにせよ、私はより簡単な方法を探しています。

私は検索して検索しましたが、何も見つかりませんでした。

助言がありますか?

4

1 に答える 1

0

それはうまくいくでしょう。

私は以前にこのツールを推奨しましたが、それは奇跡の働き者です:-)

OBShapedButton

それはあなたの問題を解決するはずの透明性の問題を処理します:-)

于 2012-12-30T08:36:28.753 に答える