UIButton:imageEdgeInsetsとtitleEdgeInsetsを使用して画像とテキストを中央に配置する方法?
ボタンに画像のみを配置し、imageEdgeInsetsを上部に近づけると、画像は中央にとどまり、すべて期待どおりに機能します。 [button setImage:image forState:UIControlStateNormal]; [button setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, 0.0)]; ボタンにテキストのみを配置し、titleEdgeInsetsを下部に近づけると、テキストは中央に留まり、すべて期待どおりに機能します。 [button setTitle:title forState:UIControlStateNormal]; [button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -30, 0.0)]; しかし、4行をまとめると、テキストが画像と干渉し、両方とも中央揃えが失われます。 すべての画像の幅は30ピクセルです。setTitleEdgeInsetsのUIEdgeInsetMakeの左側のパラメーターに30を設定すると、テキストが再び中央に配置されます。問題は、button.titleLabelのサイズに依存しているように見えるため、画像が中央に配置されないことです。私はすでにボタンサイズ、画像サイズ、titleLabelサイズで多くの計算を試みましたが、どちらも完全に中央に配置されることはありません。 誰かがすでに同じ問題を抱えていましたか?