UITableViewのセクションでヘッダーのタイトルを設定したいと思います。セクションのヘッダーのタイトルを設定するSwiftの構文は何ですか?.
func tableView( tableView : UITableView, titleForHeaderInSection section: Int)->String
{
switch(section)
{
case 2:
return "Title 2"
break
default:
return ""
break
}
}
func tableView (tableView:UITableView , heightForHeaderInSection section:Int)->Float
{
var title = tableView.titleForHeaderInSection[section];
if (title == "") {
return 0.0;
}
return 20.0;
}
func tableView (tableView:UITableView, viewForHeaderInSection section:Int)->UIView
{
var title = tableView.titleForHeaderInSection[section] as String
if (title == "") {
return UIView(frame:CGRectZero);
}
var headerView:UIView! = UIView (frame:CGRectMake(0, 0, self.tableView.frame.size.width, 20.0));
headerView.backgroundColor = self.view.backgroundColor;
return headerView;
}
クラスですでに定義されているfuncを使用できます。
self.tableView(tableView、titleForHeaderInSection:section)
たとえば、次のコードを使用します。
func tableView( tableView : UITableView, titleForHeaderInSection section: Int)->String {
switch(section) {
case 2:return "Title 2"
default :return ""
}
}
func tableView (tableView:UITableView , heightForHeaderInSection section:Int)->Float
{
var title = self.tableView(tableView, titleForHeaderInSection: section)
if (title == "") {
return 0.0
}
return 20.0
}
このメソッドを呼び出すには、UITableViews titleForHeaderInSection
メソッドを使用する必要があります。このメソッドは現在のセクションのインデックスを提供し、文字列を返す必要があります。返された文字列はヘッダーとして設定されます。
これを呼び出すために、cars
という文字列の配列があるとします。
cars = ["Muscle", "Sport", "Classic"]
その後、単に呼び出すことができます
override func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
{
// Ensure that this is a safe cast
if let carsArray = cars as? [String]
{
return carsArray[section]
}
// This should never happen, but is a fail safe
return "unknown"
}
これにより、セクションタイトルが上記の順序で返されます。