2017-08-22 12 views
0

をswift3使用して、IOSをクリックする上でボタンのテキストを変更する:私はVCを持ってシナリオ

私は水平4 UIButtonおよびそれらに接続4 UIImageViewを置いてきているが、各ボタンが自分を持っています個々のビューコントローラは、押されるたびにそれぞれVCを表示します。

問題:

  • 問題は、私は、テキストの色と私はボタンをクリックする上で使用している画像の色を変更する必要があります。

  • イメージにテキストも含まれている単一のボタンを使用することは可能でしょうか?

  • クリックするとボタンのフォントを変更する方法。

画像:

These are the 4 buttons i made them like i place image view and a button

+0

コードを表示できますか? –

+0

私は –

+0

を表示しようとします。クリックしてVCを変更したいのであれば、なぜボタンの色を変更する必要がありますか? –

答えて

2
  1. あなたがあなた自身のボタンを作成するUIButtonをサブクラス化することができます。最終的にボタンはUIViewから継承されているので、ボタンに追加したいスタイルを単純にサブクラス化して追加することができます。 UIButtonをサブクラス化すると、設計上の自由が得られます。 button.setImage(UIImage(named: "<image placeholder>") for: .normal)

    以下

    に示すように、あなたはまた、.normalは、ボタンの状態であるとnormal状態への変更がすべてに適用されますのでご注意ください、ボタンの画像/テキストを設定するAPI関数を使用することができますボタンの他​​の状態。特定の状態を変更したい場合は、それを言及する必要があります。

  2. ボタンのタッチイベントにセレクタをアタッチします。セレクタは、イベント(別名touchupinsideのような)が発生したときに呼び出されます。このセレクタでは、ボタンの新しいフォントのコードを記述することができます。あなたは私たちがボタンの画像やテキストを設定することができますので、あなたが、ボタンを使用することができ、当然の

    myButton.titleLabel!.font = UIFont(name: YourfontName, size: 20)

+0

私はボタンのアクションとアウトレットがあります。次に何をすべきですか?私はイオスに新しいですし、迅速に私に2ヶ月されています。少し簡単な言葉を説明することができます。私は7日以来ここにぶら下げられています。 –

+0

ボタンの「クリック」と呼ばれる関数では、ボタンに表示する変更を簡単に言い表すことができます。 {(:のための "img1.jpg"):UIImage(命名.normal)? btn.setImage btn.titleLabelの.text = "テキスト" } :btnClicked(UIButton _送信者)FUNC – prabodhprakash

+1

@IBAction –

0

次のようにフォントを設定することができます。

button.setImage(UIImage(named: "imageName") for: .normal) 
button.setTitle("the title string", for: .normal) 

とボタンのテキストフォント:

:あなたは画像やボタンのテキストの位置を交換することができ

button.setTitleColor(UIColor.red, for: .highlighted) 

のObjective-Cで:

button.titleLabel?.font = UIFont(name: "font string you want", size: 18) 

強調表示された状態の色

_titleViewBtn.size=CGSizeMake(100, 20); 

CGFloat imgX=_titleViewBtn.imageView.frame.origin.x; 
CGFloat titleX=_titleViewBtn.titleLabel.frame.origin.x; 
if (imgX<titleX) { 
    CGRect titleFrame=_titleViewBtn.titleLabel.frame; 
    titleFrame.origin.x=imgX; 
    _titleViewBtn.titleLabel.frame=titleFrame; 

    CGRect imgFrame=_titleViewBtn.imageView.frame; 
    imgFrame.origin.x=CGRectGetMaxX(_titleViewBtn.titleLabel.frame); 
    _titleViewBtn.imageView.frame=imgFrame; 

} 
+0

は、あなたが見ていますこれは '画像もテキストを持つ単一のボタンを使用することは可能でしょうか? ' –

+0

ボタン配列を作成して内部をタッチアップしてすべての選択を削除し、対応する値に送信者を追加します –

+0

はい私は画像同じボタン内にテキストが表示されます。どうやってするか? –

1

You c画像の左または右にあるボタンのタイトルを設定するにはUIButtonの

button.setImage(UIImage(named: "imageName") for: .normal) 
button.setTitle("Title", for: .normal) 

使用contentHorizo​​ntalAlignment以下のようなUIButtonで使用するテキストとイメージの両方。クリックでボタンの画像、タイトルやフォントを変更するにはUIButtonのマージン

使用IBActionを設定する

使用imageEdgeInsetsとUIButtonのcontentEdgeInsets

使用しての画像とタイトルを設定するにはUIButtonの状態を.highlightedあなたは button.setImage(image: UIImage(named: "abc"), for: .normal) button.setTitle(image: "abc", for: .normal)

あなた茶を設定することができますUIButton

0

の状態を強調nge状態のアクションボタン "normal"は他の状態です。

0

ので、ここでみんなが最適なソリューションです:

Q1)問題は、私は、テキストの色と私はボタンをクリックする上で使用している 画像の色を変更する必要があります。 )A)a。ボタンをVC にドラッグ&ドロップします。デフォルトでは状態はデフォルトでデフォルトは の色を選択して、灰色を選択して の横の矢印をクリックし、選択した状態を選択し、イメージ内にある の色とイメージを選択します。 png。 c。 SIZE INSPECTORに移動し、画像のサイズを調整し、 のボタンのテキストを調整します。 d。あなたの尊敬迅速なファイルに移動し、各ボタンのアクションで次の行を使用しiboutletと ibaction、それぞれのボタンを作成します。

button1.isselected = true 
    button2.isselected = false 

が、それは私のために働きました。

Q2)イメージにテキストも含まれている単一のボタンを使用することは可能でしょうか?

A)はい手順は、クリックされて上のボタンのフォントを変更する方法

Q3)を超えています。 A)まだ動作中