具有背景图像的表格视图单元格未填满整个屏幕宽度?

时间:2016-02-25 13:55:52

标签: ios objective-c uitableview

您好我是ios的新手,在我的应用中,我创建了一个UITableView,我为UITableViewcell设置了背景图片,但图片没有像屏幕下方那样填满整个屏幕宽度。为什么会出现这个问题?

我的意思是UITableViewCell左右两侧的间隙即将到来的图像没有填满整个单元格宽度。

请帮助我一个人

我的代码: -

#import "TableViewController.h"

@interface TableViewController ()
{
    UITableView * tableList;
    TableCell * Cell;
}

@end

@implementation TableViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    tableList = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen]bounds].size.width, [[UIScreen mainScreen]bounds].size.height) style:UITableViewStylePlain];

    tableList.delegate = self;
    tableList.dataSource = self;
    tableList.separatorStyle = UITableViewCellSeparatorStyleNone;
    [self.view addSubview:tableList];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 10;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *simpleTableIdentifier = @"MyCell";
    Cell = (TableCell *)[tableList dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (Cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TableCell" owner:self options:nil];
        Cell = [nib objectAtIndex:0];
    }

    //UIImageView *imageBackground = [[UIImageView alloc] init];

    if (indexPath.row == 0) {
        Cell.backGroundImage.image =  [UIImage imageNamed:@"cell_top.png"];
    } else if (indexPath.row == 9) {
       Cell.backGroundImage.image = [UIImage imageNamed:@"cell_bottom.png"];
    } else {
       Cell.backGroundImage.image = [UIImage imageNamed:@"cell_middle.png"];
    }

    //imageBackground.contentMode = UIViewContentModeScaleToFill;
    //Cell.backgroundView = imageBackground;

    return Cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{

    return 44.0;
}

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

    if ([cell respondsToSelector:@selector(setSeparatorInset:)]) {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }
    if ([cell respondsToSelector:@selector(setPreservesSuperviewLayoutMargins:)]) {
        [cell setPreservesSuperviewLayoutMargins:NO];
    }
    if ([cell respondsToSelector:@selector(setLayoutMargins:)]) {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

@end

enter image description here

1 个答案:

答案 0 :(得分:0)

对不起我之前的错误帖子。您可能遇到的问题可能是因为自动布局。检查图像视图是否分配了正确的自动布局。