I solved it and want to share for if anyone will stuck in same problem.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
method is reuse every cell over and over again when i scroll it up, so it doesn't create new one but reuse it. With this codes i clean it before reuse it.
NSArray *subviews = [[NSArray alloc] initWithArray:cell.contentView.subviews];
for (UILabel *subview in subviews)
{
[subview removeFromSuperview];
}
for (UIButton *subview in subviews) {
[subview removeFromSuperview];
}
subviews = nil;
And my last mistake was i was adding buttons on cell like this.[cell addSubview:button];
but it is better add it to contentView like this [cell.contentView addSubview:button];