3

iOS 7 でカスタム セル描画に問題があります (iOS 6 および 5 では正常に動作しています)。

heightForRowAtIndexPath では、最後のセルが次のセクションのヘッダーと重なる必要があるため、各セクションの最後の行のセルの実際の高さよりも小さい高さを返しています。

heightForRowAtIndexPath から返される高さだけが描画されているため、私のセルは下部でカットされるため、Apple は iOS 7 で描画の改善または何かを行ったようです。

どんなアイデアでも大歓迎です。

4

2 に答える 2

0

私は同じ問題と状況を抱えていました(データを追加するには、高さの低い最後のセルをタップします)。なぜそうなるのかは調べていませんでしたが、何かがうまくいきました。NSDictionary のテーブルのデータを使用しました。iOS6.1以前では問題なく動作しました。iOS7では、あなたと同じバグにつながりました。viewDidLoad で別の NSMutableArray にデータを割り当てると解決しました。したがって、テーブルビューデリゲートメソッドでどこでも使用する代わりに

[self.data objectForKey:@"offers"]

やった

- (void)viewDidLoad {
    [super viewDidLoad];
    if (!tableData) tableData = [[NSMutableArray alloc] initWithArray:[self.data objectForKey:@"offers"]];
}

そして全部交換。あなたにも役立つことを願っています。

于 2013-10-31T15:35:29.700 に答える
0

うーん、ここで私がすることは...

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == [_array_todo count]) {
        // last row
        return 50;
    }else{
        // not the last row
        return 80;
    }
}

また、セルが選択されているときに何をしているのかを検討してください....

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    sel_path = indexPath;
    [self.tableView beginUpdates];
    [self.tableView endUpdates];
}
于 2013-10-03T21:46:11.813 に答える