I am updating my Parse app, after moving everything over to Heroku, using the open-sourced Parse servers. My app has one section with a PFQueryTableViewController. For a couple of years, I have had pagination disabled, as we only have about 50 items to be used in that table. I ran it this morning, and at the bottom, after about 20 items, it pulled up the Load More option. Here's the thing...it's still disabled. Why is this pulling up?
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
// The className to query on
self.parseClassName = @"FritchDirectory";
// Whether the built-in pull-to-refresh is enabled
self.pullToRefreshEnabled = YES;
// Whether the built-in pagination is enabled
self.paginationEnabled = NO;
// The number of objects to show per page
self.objectsPerPage = 0;
}
return self;
}
- (PFQuery *)queryForTable {
NSLog(@"QUERY");
PFQuery *query = [PFQuery queryWithClassName:@"FritchDirectory"];
// If no objects are loaded in memory, we look to the cache first to fill the table
// and then subsequently do a query against the network.
if (self.objects.count == 0) {
query.cachePolicy = kPFCachePolicyCacheThenNetwork;
}
[query orderByAscending:@"title"];
return query;
}
// Customize the number of sections in the table view.
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
object:(PFObject *)object
{
static NSString *CellIdentifier = @"Cell";
DirectoryCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[tableView registerNib:[UINib nibWithNibName:@"DirectoryCell" bundle:nil] forCellReuseIdentifier:@"Cell"];
cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
}
self.theObject = object;
RSSEntryDirectory *entry = [_allEntries objectAtIndex:indexPath.row];
cell.theImageView.image = [UIImage imageNamed:@"icon@2x.png"];
cell.theImageView.contentMode = UIViewContentModeScaleAspectFit;
PFFile *thumbnail = object[@"Picture"];
if ([thumbnail isEqual:[NSNull null]]) {
}
else {
[thumbnail getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
UIImage *thumbnailImage = [UIImage imageWithData:imageData];
NSLog(@"%@", thumbnail);
cell.theImageView.image = thumbnailImage;
cell.theImageView.clipsToBounds = YES;
NSLog(@"%@", thumbnailImage);
//cell.imageView.contentMode = UIViewContentModeScaleAspectFit;
}];
}
cell.names.text = object[@"title"];
NSLog(@"NAMES%@", object[@"title"]);
CALayer * l = [cell.theImageView layer];
[l setMasksToBounds:YES];
[l setCornerRadius:11];
[l setBorderWidth:2.0];
[l setBorderColor:[[UIColor blackColor] CGColor]];
if( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad )
{
UIFont *cellFont = [UIFont fontWithName:@"ArialRoundedMTBold" size:38];
cell.names.font = cellFont;
UIFont *cellFont2 = [UIFont fontWithName:@"ArialRoundedMTBold" size:24];
cell.detailTextLabel.font = cellFont2;
}
else {
UIFont *cellFont = [UIFont fontWithName:@"ArialRoundedMTBold" size:20];
cell.names.font = cellFont;
UIFont *cellFont2 = [UIFont fontWithName:@"ArialRoundedMTBold" size:12];
cell.detailTextLabel.font = cellFont2;
}
return cell;
}
Just to be clear. PFQueryTableViewController
doesn't work correctly when placed in the NavigationViewController
. Ensure that it lies in your TableViewController
, TabViewController
or ViewController
.