2017-07-17 131 views
0

我想將分隔線添加到表視圖部分。目前的標題部分視圖的代碼將是:TableView部分分隔線

- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section { 
    // recast your view as a UITableViewHeaderFooterView 
    UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view; 
    header.backgroundView.backgroundColor = [UIColor clearColor]; 
    header.textLabel.textColor = [UIColor blackColor]; 
    [header.textLabel setFont:[UIFont fontWithName:@"Rubik-Regular" size:15.0]]; 

} 

enter image description here

+0

後退按鈕是錯誤的一方,請不要做 – Lope

+0

@Lope你的意思右上方後退按鈕? –

+0

是的,那個。它違背了用戶習慣的一切 – Lope

回答

2

如果你有

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section 

會更好,使其有:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    // recast your view as a UITableViewHeaderFooterView 
    UITableViewHeaderFooterView *header = // make header here 
    header.backgroundView.backgroundColor = [UIColor clearColor]; 
    header.textLabel.textColor = [UIColor blackColor]; 
    [header.textLabel setFont:[UIFont fontWithName:@"Rubik-Regular" size:15.0]]; 
    // make a view with height = 1 attached to header bottom 
    UIView *separator = [[UIView alloc] initWithFrame:CGRectMake(0, header.frame.size.height, header.frame.size.width, 1)]; 
    [separator setBackgroundColor:[UIColor yellowColor]]; 
    [header addSubview:separator]; 
    return header; 
} 
+0

「make header here」的意思是? –

+0

是不是這個UITableViewHeaderFooterView * header =(UITableViewHeaderFooterView *)view;是正確的? –

+0

但是這個答案對我有用,謝謝Eridana –

1

你可以這樣做:

CGRect sepFrame = CGRectMake(0, view.frame.size.height-1, 320, 1); 
UIView *separatorView =[[UIView alloc] initWithFrame:sepFrame]; 
seperatorView.backgroundColor = UIColor.yellow() 
[header addSubview:separatorView]; 
+0

我試過了,它不適用於我 –

+0

確定嗎?因爲如果你將這些代碼行添加到代碼中,它應該可以工作。 @NurII這與您標記爲正確答案的答案相同。 – ppinho

0

斯威夫特4

override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { 
    let footerView = UIView() 
    let separatorView = UIView(frame: CGRect(x: tableView.separatorInset.left, y: footerView.frame.height, width: tableView.frame.width - tableView.separatorInset.right, height: 1)) 
    separatorView.backgroundColor = UIColor.separatorColor 
    footerView.addSubview(separatorView) 
    return footerView 
} 

extension UIColor { 
    class var separatorColor: UIColor { 
    return UIColor(red: 244.0/255.0, green: 244.0/255.0, blue: 244.0/255.0, alpha: 1.0) 
    } 
}