2017-05-26 65 views
-2

如何在swift3中實現收音機組功能。如何在swift3中創建收音機組

任何幫助將不勝感激。

+0

有作爲單選按鈕沒有這樣的UI元素在iOS中,儘管您可以嘗試各種第三方實現。 –

+0

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

+0

或[LTHRadioButton](https://github.com/rolandleth/LTHRadioButton) –

回答

0

ios中沒有收音機組功能。

你是怎麼做到的?

創建一個按鈕,並使它的兩個版本的圖像。 一個用於選擇,另一個用於取消選擇。

而你必須手動處理一組單選按鈕的邏輯。

我也在等待這個功能。 :)

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人機界面指南](https://developer.apple.com/ios/human-interface-guidelines/ui-views/tables/)中使用表格視圖,如屏幕截圖 – hoseokchoi

+0

@hoseokchoi該表格視圖佈局確實看起來非常好 –

0

如果要創建iOS應用程序,不希望它看起來像一個Windows突變,你應該重新考慮UI設計利用,並通過所熟悉的iOS用戶UI控件遵守(如建議在其他答覆中)。

如果您正在尋找一種實現互斥的方法,您可以使用幾種方法,但是AFAIK並不是「開箱即用」的。他們都需要一些編碼。

一種方法是將按鈕放置在出口集合中(在界面構建器中),將它們全部鏈接到相同的IBAction並使用出口集合「取消」除發送事件(發件人)以外的所有人。

例如:

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

取而代之的是.selected屬性,你可以改變圖像或使用表情符號和更改標籤。例如✅< =>❎

如果你打算在幾個地方使用它,我會建議創建一個UI控件的子類來保持行爲一致性並避免使用鍋爐板代碼。

0

可以使用UI按鈕,而不是這取一個的UIButton 設定的兩種狀態之一是缺省和一個被選擇(可以通過故事板做

if state == selected then value is true 
    if state == default then value is false