2016-07-28 2 views
2

머리글/바닥 글이 테이블 위에 떠오르지 않고 테이블의 위쪽과 아래쪽에 고정되도록 tableView를 일반에서 그룹으로 변경했습니다. 그건 간단하지만, 지금은 내가 설치 글꼴 스타일 서식이 작동하지 않습니다. 이상하게도 머리글/바닥 글의 다른 모든 서식이 작동하는 것 같습니다. 무슨 일이 일어나고 있는지 그리고 내가 누락 된 것에 대한 생각은 인정됩니다! 아래그룹화 된 테이블 (Swift)의 TableView 머리글/바닥 글 글꼴

코드하십시오 일반 테이블에서

// Setup format of the header 
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { 

    let title = UILabel() 
    title.font = UIFont(name: "Avenir Book", size: 12) 
    title.textColor = UIColor.whiteColor() 


    let header: UITableViewHeaderFooterView = view as! UITableViewHeaderFooterView 
    header.contentView.backgroundColor = UIColor(red: 30/255, green: 30/255, blue: 50/255, alpha: 1) 
    header.textLabel!.font = title.font 
    header.textLabel?.textColor = title.textColor 
    header.textLabel?.numberOfLines = 0 
    header.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping 
    header.textLabel?.textAlignment = NSTextAlignment.Center 

} 

위의 모든 위대한 작품 및 다음과 같습니다

enter image description here 그러나

, 나는 그룹화 된 테이블에 모든 서식 변경 이 글꼴 스타일을 제외하고 다음과 같이 표시됩니다.

I am puzzled about where the ALL CAPS is coming from

나는 모든 대문자가 어디서 오는지에 대해 당혹 스럽다.

this question/answer에서 솔루션을 구현하려했지만 작동하지 못했습니다. 당신의 아이디어에 감사드립니다!

답변

2

은이 방법의 섹션 제목의 문자열을 한 것으로 가정하면

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? { 

그러나 그룹화의 tableview에서

는 해당 문자열은 모두 대문자로 변경됩니다. 모든 캡을 제거하려면 willDisplayHeaderView 방법이 두 라인 중 하나를 추가하려고 :

header.textLabel?.text = header.textLabel!.text!.capitalizedString 
header.textLabel?.text = header.textLabel!.text!.lowercaseString 

첫 번째는 모든 단어의 첫 글자를 대문자로하고 두 번째는 모든 소문자로 만들 것입니다. 그 중 하나를 원하지 않으면 직접 문자열을 추가 할 수 있습니다.

header.textLabel?.text = "Here are a few options for you. Select to learn more" 
+0

아! 정말 고마워! 나는 대문자를 유지하기 위해 titleForHeaderInSection에 String을 추가하는 옵션을 사용했다. – Ben

관련 문제