UITableview
最後のレコードの下に空白が読み込まれることがあります。以下のスクリーンショットの例では、返される結果は 9 件のみであり、テーブルはその最後の行で終了する必要があります。代わりに、テーブル内にスクロールする空白がかなりあります。その後、テーブルをリロードすると、もう一度問題ありません。まれにしか発生せず、何が問題なのかわかりません。
テーブル行を選択して、このView Controllerから詳細ビューに移動した場合にのみ発生します。テーブルで最初の VC に戻ると、そこに空白があります。
これがどのように見えるかのスクリーンショットです:
9 件の結果があります。9 つの結果 (一番下の黒い四角形は行番号 9) の最後までスクロールし、その下の空白をスクロールしました。スクローラーからどれだけの余白があるかがわかります。
セルを作成する方法は次のとおりです。
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleTableCell";
tableCell *cell = (tableCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil)
{
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"tableCell" owner:self options:nil];
cell = [nib objectAtIndex:0];
cell.selectedBackgroundView = [[UIView alloc] initWithFrame:CGRectZero];
cell.selectedBackgroundView.backgroundColor = [UIColor colorWithRed:204.0/255.0 green:56.0/255.0 blue:55.0/255.0 alpha:1];
cell.accessoryView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"arrowDisclosure.png"]];
cell.descriptionLabel.numberOfLines = 0;
[cell.titleLabel setFont:[UIFont fontWithName: @"Asap-Bold" size: 15.0f]];
[cell.descriptionLabel setFont:[UIFont fontWithName: @"Asap-Regular" size: 10.0f]];
[cell.priceDealLabel setFont:[UIFont fontWithName: @"Asap-Bold" size: 15.0f]];
[cell.oldPriceDealLabel setFont:[UIFont fontWithName: @"Asap-Bold" size: 8.0f]];
[cell.discountDealLabel setFont:[UIFont fontWithName: @"Asap-Bold" size: 12.0f]];
[cell.ratingsNumberLabel setFont:[UIFont fontWithName: @"Asap-Regular" size: 9.0f]];
[cell.amountLabel setFont:[UIFont fontWithName: @"Asap-Regular" size: 9.0f]];
}
検索が実行された後に発生し、行がタッチされて詳細ビューに移動し、テーブル ビューに戻ると空白が表示されます。
私はこれを持っています。両方のキーボード メソッドで同じフレーム コードを使用しているようです。それはそれでしょうか?
-(void) keyboardShown:(NSNotification *)note {
CGRect keyboardFrame;
[[[note userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardFrame];
CGRect tableViewFrame = self.tableView.frame;
tableViewFrame.size.height -= keyboardFrame.size.height;
[self.tableView setFrame:tableViewFrame];
self.tableView.frame = CGRectMake(0, 100,320, 333); // displaying results after keyboard shown.
}
-(void)keyboardHidden:(NSNotification *)note {
self.tableView.frame = CGRectMake(0, 100,320, 333); // displaying results after keyboard is hidden.
}