2011-03-29 95 views
3

默認情況下,UITalbeViewCellAccessory的位置位於單元格中間向右。我想在Y軸上移動它29個像素(向下移動29個像素)。我怎樣才能做到這一點?我試圖設置accessoryView的框架,但沒有奏效。uitableviewcellaccessory的設置位置

感謝,

回答

0

設置accessoryView的初步框架是affectless,它改變了細胞做了佈局任何時候,你需要:

- (void)layoutSubviews 
{ 
    [super layoutSubviews]; 
    self.accessoryView.center = CGPointMake($yourX, $yourY); 
} 

這是一個簡單的方法來設置一個自定義位置accessoryView堅持任何單元狀態

-3

對於您必須去custom accessory view ......因爲它更簡單的方法來改變UITableViewCellAccessory和定製附件視圖位置看看Custom Accessory View For UITableView in iPhone

現在設置任何你想要的配件。

祝你好運!

+0

我很害怕你會這麼說。任何機會,你知道一個簡單的方法來抓住他們的默認圖像,所以我不必讓我自己> – odyth 2011-03-29 04:36:57

+0

:)不,你不能那樣做.....你必須把你自己的圖像 – Sudhanshu 2011-03-29 04:48:59

0

您不能移動默認UITableViewCellAccessoryType。你只是需要添加自定義視圖到小區:

[cell.contentView addSubview:aView]; 
1

一種的UIImageView的爲accessoryView的伎倆(略作修改,可能包含錯別字):

cell.accessoryView = ({UIImageView * imgV = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]]; 
        CGRect frame = imgV.frame; 
        frame.size.width = frame.size.width + 10; //Push left by 10 
        imgV.frame = frame; 
        [imgV setContentMode:UIViewContentModeLeft]; 
        imgV; }); 
0

默認UITableViewCellaccessoryView屬性是硬編碼從UITableViewCellUITableView框架財產比例使用值

(像UITableViewCell.accessoryView.frame.x = UITableView.frame.width - *30, and UITableViewCell.accessoryView.frame.y = UITableViewCell.frame.height/2 - *10)(*由我粗略估計值)

例如,如果您要降低UITableView.frame.width值,則accessoryView「絕對」x位置向左移動,同樣,您可以通過操縱高度值調整「絕對」y位置,可能的話,您可以級聯2 UITableViewCell的並將內部的一個框架高度設置爲大於其父母的高度,以便配件視圖的位置(位於內部高度的約一半的高度)獲得較低的「絕對」位置值。

不是一個漂亮的解決方案,但這是沒有自定義附件視圖的一種方式。