2017-09-04 10 views
-1

すぐに複数行のヘッダースタイルを編集するにはどうすればよいですか? 「次の週」を太字に、日付を普通にすることはできますか?別の質問は、ヘッダーの下にいくつかのパディングを追加する方法ですか?Swiftで複数行のテーブルビューヘッダーをカスタマイズする方法は?

override func tableView(_ tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { 
    if section == 0{ 
     let header = view as! UITableViewHeaderFooterView 
     header.textLabel?.textColor = UIColor.white 
     header.textLabel?.font = UIFont(name: "Helvetica", size: 18) 
     header.textLabel?.text = "Next Week \n \(firstDay) - \(seventhDay)" 
     header.textLabel?.frame = header.frame 
     header.textLabel?.textAlignment = NSTextAlignment.center 
    } 
} 

現在のコード

Current code layout

アプリケーション設計 App design layout

+0

文字列の一部のスタイルを変更するには、NSAttributedStringを見てください。 – the4kman

+0

別のオプションは、カスタムヘッダービューを作成することです。 – algrid

+0

かなり簡単です。あなたはどの部分をやるべきか分からないのですか? – matt

答えて

0

あなたがNS(Mutable)AttributedStringを使用することができ、大胆な文字列の一部を作成し、定期的に他の部分を維持するために。単にヘッダの高さは、その後textLabelの高さを小さくするが、それらは同じ高さで開始しますパディングを追加する次に

let header = UITableViewHeaderFooterView() 
header.textLabel?.textColor = UIColor.white 
var mutableString = NSMutableAttributedString(string: "Next Week \n \(firstDay) - \(seventhDay)", attributes: [NSFontAttributeName:UIFont(name: "Helvetica", size:18.0)!]) 
mutableString.addAttributes([NSFontAttributeName:UIFont(name:"Helvetica-Bold", size:18.0)!], range: NSRange(location: 0, length: 9)) //lenght 9 because "Next Week" is 9 characters 
header.textLabel?.attributedText = mutableString 

:これは、あなただけの文字列の特定の部分のためのスタイリングのすべての種類を設定することができます。

header.textLabel?.frame = CGRect(x: 0, y: 0, width: header.frame.width, height: header.frame.height-20) //minX and minY because the screen renders from top left 
header.textLabel?.textAlignment = NSTextAlignment.center 
+0

パディングについて。他の方法?現在のコードは動作していないようです –

+0

なぜframe.height - 20? –

+0

私は別の質問があります。私が下にスクロールし、次に上にスクロールします。ヘッダーテキストの配置が左に移動しました。どうして? –

関連する問題