だから私はインスタグラムのようなタイムラインコンテンツを作りたいと思っています。私はuitableviewでカスタムセルを使用しています。私の問題は、ストーリーボードでセルの高さを345に設定しているのですが、次のようなセルテーブルが表示されます。
ストーリーボード上のカスタムセルは次のとおりです。
ストーリーボードのような結果を得るにはどうすれば修正できますか?
この問題が発生している理由は、カスタムテーブルビューセルの行の高さを345に設定している可能性がありますが、UITableviewの行の高さが345未満である間はカスタムとして設定されていないためです。したがって、ストーリーボードに移動してテーブル(UITableview)を選択し、その行の高さを可能な最大の行の高さに設定します。
2種類の行の高さがあると仮定しましょう。 1つは345で、もう1つは325です。325<345として、テーブルビューの行の高さを345に設定します。
ここで、カスタムテーブルビューセルを選択し、その行の高さをカスタムにして、345または325に設定します。この場合は345になります。
今はいいはずです。
ただし、セルサイズが異なる場合のより適切な方法は、行の高さの指定にデリゲートメソッドを使用することです。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(indexPath.row==0){
return 345;
}
else if(indexPath.row==1){
return 325;
}
else{
return 300; //a default size if the cell index path is anything other than the 1st or second row.
}
}
このdelegate
メソッドを使用します。
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 345
}
ここでテーブルビューセルの高さを設定できます。