// 2本の分割線の中央を隠す IF pickerV.subviews.count> = 2 { pickerV.subviews [ 1 ] .isHidden = 真 pickerV.subviews [ 2 ] .isHidden = 真 } // 選択された行の背景色を変更する ためのサブビューにpickerV.subviews { IF subView.subviews.count!= 0 { contentViewsましょう = subView.subviews [ 0 ] について rowView でcontentViews.subviews { 場合 rowView.center.y == contentViews.center.y { // 背景ビュー :rowView.backgroundColor = UIColor.init(hexString " #のF5F5F5 " ) 休憩 } } ブレーク } }
// 推奨ディスプレイに必要なラベル。等テキストのサイズ、色、 FUNC pickerView(_ pickerView:UIPickerView、viewForRow行:INT、forComponentコンポーネント:INT、再利用、表示:?のUIView) - > のUIView { // 表示テキスト のvar showStr = "" スイッチ{コンポーネントを ケース 0 : showStr = " \(self.dataArr [成分] [行] .selectTextStr)年" ケース 1 : showStr = " \(self.dataArr [成分] [行] .selectTextStr)月" ケース 2 : showStr = " \(self.dataArr [成分] [行] .selectTextStr)日" デフォルト:休憩 } // 修改字体大小、颜色 せarrStr = NSAttributedString.highLightText(showStr、highLightString:""、normalFont:UIFont.systemFont(ofSize:16、重量:UIFont.Weight.regular)、highLightFont:ゼロ、normalColor:UIColor.init( hexString:" #333333 " )、highLightColor:ゼロ) // ここで高さを与えていない幅、高さ、行よりもわずかに大きくない、リストに表示することができる LET showLabel = UILabel(フレーム:CGRect(X:0、Y:0:幅100高さ:34です)) showLabel.textAlignment = .center // ラベルのテキストリロード showLabel.attributedText = arrStr リターンshowLabelを } // // フォントの色、フォントサイズを変更し、現在の変更が推奨されないではない // FUNC pickerView(_ pickerView:UIPickerView、attributedTitleForRow行:INT、forComponentコンポーネント:INT) - > {NSAttributedString? // // // = VAR strを"" // コンポーネント{スイッチ // ケース0: // STR = ""の\(self.dataArr [成分] [行] .selectTextStr) // 。ケース1: // STRは=「\(self.dataArr [成分] [行] .selectTextStr)月" // ケース2: // STR =" \(self.dataArr [コンポーネント]、[行] .selectTextStr)の日" // デフォルト:休憩 // } // (STR、highLightString NSAttributedString.highLightTextを返す: ""、normalFont:UIFont.systemFont(ofSize:16、重量:UIFont.Weight.regular)、highLightFont:nilに、normalColor:UIColor.init(hexString : "#333333")、highLightColor:ゼロ) // } // 各列の高さ > - FUNC pickerView(中間体:UIPickerView、rowHeightForComponentコンポーネント_ pickerView)CGFloat { 返す 34です }