2017-05-29 63 views
0

從對象庫中拖放分段控制器非常簡單,但並非總是這樣。我需要實現自定義下劃線類型的分段控制器,但是我發現它很困難。我在網上找到的代碼只是高於我的頭。有人可以建議輕鬆實現下劃線類型自定義分段控制器嗎?製作自定義分段控制器的替代方法

+0

喜歡的事情......? –

回答

0

Layman和最簡單的方法可能是,你在你的視圖上放置兩個標籤。並在每個標籤下放置一個進度條。默認情況下隱藏進度條。爲這些進度條和標籤創建@IBOutlets。仔細分配約束。現在從對象庫中拖出一個分段的控制器並放置它們。使色調清晰/透明。現在爲這個分段控制器創建出口。

現在,在選擇分段控制器後,您可以執行的操作是,您可以將該段下面的標籤設爲粗體,同時您可以取消隱藏所選段的隱藏進度欄。用原始字體替換來取消選中未選中的標籤。

希望你理解提供和尋求細分市場的例子。

讓我寫它的代碼,如果你面對的任何問題發表評論:

@IBAction func selection(_ sender: Any) {//outlet to UISegmentedControler 
     let sel = segmt.selectedSegmentIndex 
     if sel == 0 { 

      Providing.font = selectedFont //selected font is bold font 
      Seeking.font = fonts //original font for seeking 
      p.isHidden = false 
      s.isHidden = true 


     } 
     else if sel == 1 { 

      Seeking.font = selectedFont 
      Providing.font = fontp //original font for providing 
      s.isHidden = false 
      p.isHidden = true 



     } 
     else{ 
      //code.. 
     } 

    } 
0

基本上你做的是,

  • 您創建一個UIView子類,你可以手動的廈門國際銀行設計它,這樣就可以重複使用的UIView。
  • 使它看起來像一個分段控件,通過有兩個按鈕
  • 子類UIView並編寫代碼用於連接添加動畫的兩個按鈕,其中One將被取消選擇(更改顏色),另一個被選中並且虎鉗-versa。

您看到的所有自定義分段控件都是這樣完成的,添加了動畫和自定義drawRect。而且代碼更加模塊化和麪向對象,所以任何人都可以通過一個非常簡單和容易的公共API輕鬆使用它。

希望這個解釋可以幫助您建立自己的自定義控件。 快樂編碼

0

您可以使用collection view來創建類似的東西。

參考:https://stackoverflow.com/a/40552321/5716829

在做UICollectionViewDelegateFlowLayout你可以創建自己的自定義segmented control微小的變化經過。

讓我知道你是否需要任何幫助,遵循這種方法。