2011-01-14 62 views
1

在iPhone應用程序鏈接中,我注意到他們有一個tableview,看到下面的圖片,似乎有一個三角形指標向上。如何做一個三角形指標的UITable單元格?

alt text

通知所述的tableview細胞如何有一個小三角形指向上方,並且是的tableview細胞的一部分。

三角形是---^---圖像的一部分。

我想知道。你如何使用這個三角形指標製作一個UITableView,這個效果叫做什麼?

謝謝

回答

5

這是自定義。

有你可以採取此兩種方法:

  1. 設置的UITableView的分隔符樣式爲無,一個UIImageView添加到具有隔離線和三角繪製的UITableViewCell我會成立。圖像視圖單元的原點爲等於三角形高度的負數。您必須在該UIIMageView以及單元格的背景視圖和單元格本身上將clipsToBounds屬性設置爲NO。

  2. 基本上與1相同的方法,但不是使用UIImageView,而是重寫背景視圖的繪製方法,並使用Quartz2D繪製線條。

另外,我不使用LinkedIn應用程序,但它的內容區域是沒有得到其他地方重複使用或動畫,你可以讓你的生活更輕鬆,通過上面並與線下結合區域箭頭放入一個TableViewCell中,並使用UIImageView或Quartz將分隔符完全整理。

+0

哦,我不知道。我認爲這將是UITableViewCell繪圖方法的一部分。但我很歡迎幫助。謝謝! Upvoted。 – zardon 2011-01-14 17:39:46

3

下面是代碼要做到這一點,你需要有一個像箭頭的圖像,並把下面的代碼在你的cellForRowAtIndexPath方法...

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *[email protected]"cell"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:celltype]; 


    for (UIView *view in cell.contentView.subviews) { 
     [view removeFromSuperview]; 
    } 
    if (cell == nil) 
    { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"] autorelease]; 
     cell.accessoryType = UITableViewCellAccessoryNone;; 
     cell.backgroundColor=[UIColor clearColor]; 
     UIImage *indicatorImage = [UIImage imageNamed:@"indicator.png"]; 
     cell.accessoryView = 
     [[[UIImageView alloc] 
     initWithImage:indicatorImage] 
     autorelease]; 
} 

    UILabel *dateValueLabel = [[UILabel alloc] initWithFrame:CGRectMake(170, 68, 140,20)]; 
    dateValueLabel.textColor = [UIColor whiteColor]; 
    dateValueLabel.backgroundColor=[UIColor clearColor]; 
    dateValueLabel.text=[NSString stringWithFormat:@"%@",[[productArray objectAtIndex:indexPath.row]valueForKey:@"PostedDate"]]; 
    dateValueLabel.font=[UIFont systemFontOfSize:14]; 
    dateValueLabel.numberOfLines=3; 
    dateValueLabel.adjustsFontSizeToFitWidth=YES; 
    [dateValueLabel setLineBreakMode:UILineBreakModeCharacterWrap]; 
    [cell.contentView addSubview:dateValueLabel]; 
    [dateValueLabel release]; 


    return cell; 

} 

希望這將幫助你。我做這種方式.........

+0

謝謝。我會嘗試修改代碼,並獲得一個基本的tableviewcell與你的代碼工作,並希望從那裏開始。 – zardon 2011-01-14 17:40:49