1

xibやストーリーボードを使用せずにこのUIviewサブクラスを実行する必要があります。1つのファイルである必要があるため、コードでこのテーブルビューをセットアップし、UITableViewCellのサブクラス化を避ける必要があります。

画像ビューを V:|-5-[imageview]-5-| として設定しようとしています。および H:[iamgeview(幅 = 高さ)]-5-| セルの contentView 内。

私が得るのは、追加したすべての制約が壊れ、セルが必要な場所にないということだけです。

基本セルは基本的なスタイルのセルです。私がやろうとしているのは、ビューの最後に画像ビューを追加することだけですが、これは現時点では悪夢になっています。

コードで次のように画像ビューを設定しています。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];

if (!cell)
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
POI *poi = [self.results objectAtIndex:indexPath.row];
NSString *text = poi.name;

cell.textLabel.text = text;

UIImageView *image = [[UIImageView alloc] init];
image.image = [UIImage imageWithColor:[UIColor blueColor]];
[cell.contentView addSubview:image];
NSDictionary* viewDic = @{@"image":image};
cell.contentView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
[cell.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-5-[image]"
                                                                         options:0
                                                                         metrics:nil
                                                                           views:viewDic]];

[cell.contentView addConstraints: [NSLayoutConstraint constraintsWithVisualFormat:@"H:[image(w)]-5-|"
                                                                          options:0
                                                                          metrics:@{@"w":cell.contentView.frame.size.heigh}
                                                                            views:viewDic]];

return cell;

}

セルが読み込まれると、次のエラーが発生します。

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x7fb7b636aaa0 H:[img(44)]   (Names: img:0x7fb7b6368fc0 )> 

<NSLayoutConstraint:0x7fb7b6369380 V:[img(44)] (Names: img:0x7fb7b6368fc0 )>

<NSLayoutConstraint:0x7fb7b636aaf0 H:[img]-(5)-| (Names: Contentview:0x7fb7b6372a30, img:0x7fb7b6368fc0, '|':Contentview:0x7fb7b6372a30 )>

<NSLayoutConstraint:0x7fb7b63697e0 V:|-(5)-[img] (Names: img:0x7fb7b6368fc0, Contentview:0x7fb7b6372a30, '|':Contentview:0x7fb7b6372a30 )>

4

1 に答える 1