2017-05-26 11 views
-2

swift3でラジオグループ機能を実装する方法。swift3でラジオグループを作成する方法

ご協力いただければ幸いです。

+0

ラジオ・ボタンとしてはそのようなUI要素がありませんiOSでは、さまざまなサードパーティの実装を試すことができますが、 –

+0

[GDCheckbox](https://github.com/SaeidBsn/GDCheckbox) –

+0

または[LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) –

答えて

0

iosにはラジオグループ機能はありません。

どうやってですか?

ボタンを作成し、2つのバージョンのイメージを作成します。 1つは選択し、もう1つは選択解除します。

ラジオボタンのグループのロジックを手動で処理する必要があります。

この機能もお待ちしています。 :)

2

iOSでは、ラジオコントロールの機能を果たす標準コントロールはUISegmentedControlです。

let segmentedControl = UISegmentedControl(items: ["Option A", "Option B", "Option C"]) 

// Don't forget to have the @IBAction valueChanged(_:) 
segmentedControl.addTarget(self, action: #selector(valueChanged(_:)), for: .valueChanged) 

// Set the constraints or frame 

view.addSubview(segmentedControl) 
+0

+1。 [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/ui-views/tables/)のスクリーンショットのようなテーブルビューを使用することもできます – hoseokchoi

+0

@hoseokchoiそのテーブルビューのレイアウト本当にいいね –

0

あなたはiOSアプリケーションを作成していると、それは、Windowsの変異体のように見えるしたくない場合は、あなたが示唆したように(iOSユーザーによく知られているUIコントロールによって活用し、遵守するUIのデザインを再考すべきです他の回答では)。

相互排除を実装する方法を探している場合は、AFAIKを使用することができるいくつかのアプローチがありますが、どれも「すぐに使える」ものではありません。彼らはすべて少しのコーディングが必要です。

一つの方法は、(インターフェイスビルダーで)出口コレクションにボタンを配置することができ、同じIBActionにそれらすべてをリンクし、出口コレクションを使用する「のチェックを外し、」イベント(送信者)に送ら一つを除くすべて。例えば

:代わり.selected属性の

@IBOutlet var exclusiveItems:[UIButton] 
@IBAction func exclusiveItemSelected(_ sender: Any) 
{ 
    exclusiveItems.forEach{$0.selected = $0 === sender } 
} 

、あなたがイメージを変更したり、絵文字を使用してラベルを変更することができます。例えば✅< =>❎

これをいくつかの場所で使用する場合は、UIコントロールのサブクラスを作成して動作を一定に保ち、ボイラープレートコードを避けることをお勧めします。 1がデフォルトと一つである二つの状態を設定が選択されている

0

あなたはUIボタンを使用しての代わりに、この1 UIButton を取ることができます(ストーリーボードを介して行うことができます)

if state == selected then value is true 
    if state == default then value is false 
関連する問題