2016-10-07 10 views
0

APIからtextLabel値を取得しています。しかし、viewForHeaderInSectionに設定できません。viewForHeaderInSection [UITableView]でtextLabelを設定できません

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

     let headerView = HeaderView(tableView: self.tblView, section: section) 
     headerView.backgroundColor = UIColor.whiteColor() 
     let subjectNameLabel = UILabel(frame: CGRect(x: 19, y: 4, width: 282, height: 35)) 

     subjectNameLabel.textAlignment = NSTextAlignment.Center 
     subjectNameLabel.font = UIFont (name: "HelveticaNeue", size: 16) 
     subjectNameLabel.textColor = UIColor.whiteColor() 
     headerView.userInteractionEnabled = true 

     let dataArrayTblView = dataArrayForTableView 
     let subjectNameTxtValue = dataArrayTblView.valueForKey("subjectname") 

     subjectNameLabel.text = subjectNameTxtValue as? String 
     subjectNameLabel.backgroundColor = UIColor(red: 75/255.0, green: 193/255.0, blue: 210/255.0, alpha: 1.0) 

     headerView.addSubview(subjectNameLabel) 

     return headerView 
    } 
+0

「HeaderView」のinitメソッドを表示します。 –

+0

私の場合、私はAPIから応答を得てAPIの後にviewForHeaderInSectionの値を設定します。 –

+1

ここで 'let headerView = HeaderView(tableView:self.tblView、section:section)'を使用します。let headerView = UIVIew() ' –

答えて

1

は私のコードを試してみてください - 私のアプリでは異なる指標で異なる部分があり、私は2つのセクション、私はこのコードを試していますいくつかの時間1といくつかの時間3

を取得するいくつかの時間を意味します。

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

     let frame: CGRect = tableView.frame 
     let title: UILabel = UILabel(frame: CGRectMake(50, 3, 200, 30)) 
     title.text = TotalSection[section] as AnyObject! as! String! 
     title.textColor = UIColor.whiteColor() 
     title.font = UIFont(name: "OpenSans-Semibold", 
          size: 15.0) 
     let headerView: UIView = UIView(frame: CGRectMake(0, 0, frame.size.width, frame.size.height)) 
     headerView.addSubview(title) 

     headerView.layer.backgroundColor = BUTTON_SUBMIT_LIGHT_BLACK.CGColor 
     return headerView 
} 

func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { 
     return 40 
} 
+1

あなたの 'title.text = TotalSection [セクション]をAnyObjectとして!として!文字列! '完璧な作業。 – iDeveloper

+0

これで、APIから取得してtextLabelを設定します。ラベル(テーブルビューのセル)に同じ値を出力します – iDeveloper

+0

AnyObjectとして 'cell.titleLabel.text = titleName [indexPath]を使用しています!として!文字列! ' – iDeveloper

0

ここには、セクション内のヘッダーの適切なコードがあります。日付を表示し、テキストに応じて幅を設定することができます。

/*

func tableView(tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { 

    return self.showHeaderViewController(section) 

} 

func showHeaderViewController(section: Int) -> UIView { 

    // Header View 
    let headerView : UIView = UIView.init(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, 35)) 
    headerView.backgroundColor = UIColor.clearColor() 
    headerView.tag = section 

    // Set Date on label 
    let dateString = self.jsondata.objectAtIndex(section).valueForKey("Date") as! String 


    //Get the width of String 
    var sizeOfString = CGSize() 
    if let font = UIFont(name: "Helvetica", size: 14.0) 
    { 
     let fontAttributes = [NSFontAttributeName: font] // it says name, but a UIFont works 
     sizeOfString = (dateString as NSString).sizeWithAttributes(fontAttributes) 
    } 

    // Header View Label. 
    let headerName = UILabel() 
    headerName.frame = CGRectMake(0, 0, sizeOfString.width + 20 , 20) 
    headerName.center = CGPointMake(UIScreen.mainScreen().bounds.width/2, CGRectGetHeight(headerView.frame)/2) 
    headerName.backgroundColor = UIColor(red: 139/255, green: 51/255, blue: 66/255, alpha: 1.0) 
    headerName.textAlignment = .Center 
    headerName.lineBreakMode = NSLineBreakMode.ByWordWrapping 
    headerName.layer.cornerRadius = 7 
    headerName.clipsToBounds = true 
    headerName.font = UIFont(name: "Helvetica", size: 14.0) 
    headerName.textColor = UIColor.whiteColor() 
    headerName.adjustsFontSizeToFitWidth = true 
    headerName.numberOfLines = 0 
    headerName.text = finalDate 

    headerView.addSubview(headerName) 

    return headerView 

} 

うまくいけば、この意志はあなたを助けます。

ありがとうMandeep Singh

+0

まだ同じ問題 – iDeveloper

+0

あなたの質問を詳しく説明することができます私は私のtableviewcell値 –

関連する問題