3

タイトルが左に表示され、画像が右端に表示されるように、UiButton のタイトルと画像を揃えたいと思います。ボタンは横方向に画面いっぱいに引き伸ばされていることに注意してください。

ボタンのレイアウトは次のようになります:- [タイトル ..]

タイトルには左パディングが必要です。画像には右側のパディングが必要です。

CGFloat width = self.frame.size.width;
CGFloat imageWidth = [button currentImage].size.width;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; 
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, width - imageWidth - 10, 0, 0)];

ただし、タイトルは左揃えですが、左側に多くのスペースがあります。画像が全然映らない!

4

3 に答える 3

3

代替手段
を使用します できることは、1 つのビューに 3 つのコントロールを追加することです。言いましょうParentView

1) yourButton 
2) yourlable // don't use button title instead use this lable.
3) imageView

以下のようにParentViewオートサイズを作成します。

ここに画像の説明を入力

水平方向に引き伸ばされるので、yourButton自動的にサイズが変更されParentViewます。ここからは、位置に気をつけたいだけです。

afterでyourlable左端に設定し、autosize プロパティを次のように設定します。parentViewyourButton

ここに画像の説明を入力 そのため、常にの左端に留まり、位置を右端にParentView

設定し、autosize プロパティを次のように設定します。したがって、常に 希望の右端に留まります。imageViewparentView
ここに画像の説明を入力ParentView

于 2013-07-26T06:15:07.803 に答える
0

xib にボタンを追加し、タイトルと画像を設定したい場合は、属性インスペクタから実行できます。attributeinspector には、Edge という名前のプロパティがあります。デフォルトではコンテンツが設定されています。しかし、タイトルと画像という名前の他の 2 つのオプションがあります。Inset プロパティのすぐ下には、必要に応じてタイトルと画像を設定できます。タイトルを選択すると、画像にも同様にタイトルを設定できます(必要に応じて左または右に移動します)

于 2013-07-26T06:17:16.357 に答える