小编pmk*_*pmk的帖子

UITableView scrollIndicator位置不正确

所以我有一个UITableView.它的dataSource是NSArray一个搜索后加载的自定义对象.当我滚动到底部时,一切正常,scrollIndicator滚动到底部.

现在当我滚动回到顶部时,scrollIndicator在我的UINavigationbar下面停止大约50像素.

我不知道为什么这种行为只发生在这个tableViewController,因为我UITabBarController的5 UITableViewcontrollers个继承自同一个超类.任何帮助表示赞赏,在此先感谢:)

编辑:

将以下代码放入 viewWillAppear:

self.tableView.scrollIndicatorInsets   = UIEdgeInsetsMake(0, 0, 0, 0); 
Run Code Online (Sandbox Code Playgroud)

解决了这个问题.虽然我仍然不知道为什么这个问题只发生在五个tableViewControllers中的一个...

iphone scroll objective-c uitableview

8
推荐指数
1
解决办法
5029
查看次数

CoreData检查to-many-relationship是否包含对象

我的应用程序中有以下数据模型:

数据模型

基本上我想存储国家名称以及城市名称.每个城市属于一个国家,一个国家包含0到n个城市.

在我现在将新城市添加到某个国家/地区之前,我需要知道该国家/地区是否已包含具有此名称的城市.

到现在为止我这样做:

- (BOOL)countryForName:(NSString *)countryName containsCity:(NSString *)cityName {
    Countries *country = [self countryForName:countryName];
    NSSet *cityNames = [country valueForKey:@"cities"];
    for (Cities *city in cityNames) {
        if ([city.cityName isEqualToString:cityName]) {
            return YES;
        }
    }
    return NO;
}
Run Code Online (Sandbox Code Playgroud)

这显然非常慢,我需要的是具有正确谓词的等效提取.我执行搜索这样的一个实体:

    NSEntityDescription *entity     = [NSEntityDescription entityForName:@"Countries" inManagedObjectContext:self.managedObjectContext];
    [fetchRequest setEntity:entity];

    // Edit the sort key as appropriate.
    NSSortDescriptor *sortDescriptor    = [[NSSortDescriptor alloc] initWithKey:@"countryName" ascending:YES];
    NSArray *sortDescriptors            = @[sortDescriptor];
    fetchRequest.sortDescriptors        = sortDescriptors;

    // Edit the section name key path and cache name if appropriate.
    // …
Run Code Online (Sandbox Code Playgroud)

core-data one-to-many nspredicate

7
推荐指数
1
解决办法
4930
查看次数

UITableViewCell自定义selectedBackgroundView问题

所以我面临着在我的内部设置custum selectedBackgroundView的问题UITableViewCell.

我的单元格contentView基本上是一个UIView(frame = 0,0,80,70),黑色背景和UIImageView子视图.

imageView的 contentMode = UIViewContentModeScaleAspectFit;

这看起来像这样:

未选择的细胞

现在我像这样设置selectedBackgroundView:

    //set the custom selected color
    UIView *bgColorView                 = [[UIView alloc] init];
    bgColorView.backgroundColor         = MY_TINT_COLOR;
    CGColorRef darkColor                = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha: 0.25].CGColor;
    CGColorRef lightColor               = [self.view.backgroundColor colorWithAlphaComponent:0.0].CGColor;
    //setting some gradients here
    //should not be relevant for the question
    [cell setSelectedBackgroundView:bgColorView];
Run Code Online (Sandbox Code Playgroud)

这导致如下所示:

在此输入图像描述

我现在的问题是selectedBackgroundView隐藏黑色部分的原因是contentView什么?

我已经尝试bgColorView用一个帧开始初始化我x = 80,但这并没有改变任何东西.

此外,我曾试图显式设置backgroundColorimageView黑色,同样的结果.

什么可能导致这种行为?

iphone objective-c uitableview uiimageview ios

5
推荐指数
1
解决办法
1万
查看次数

UITableView重新排序,如清除应用程序

长敲击检测后如何开始移动?使用uilongpressgesturerecognizer进行长时间检测.我的代码:

`- (void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    flMoveRow = NO;
    [self setEditing:YES animated:YES];
    [listView reloadData];
}


- (void)longTapGesture:(UILongPressGestureRecognizer *)sender{
    if((sender.state != UIGestureRecognizerStateEnded)&&(!flMoveRow)){
        NSLog(@"==longTapGesture:");
        flMoveRow = YES;  
        [listView beginUpdates];
        NSArray *indexPaths = [[NSArray alloc] initWithObjects:indexPath, nil];
        [listView reloadRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationNone];
        [listView endUpdates];
        sender.enabled = NO;
    return;    
}

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath{
    NSLog(@"==canMoveRowAtIndexPath:%i -- %d", indexPath.row, (int)flMoveRow);
return flMoveRow;}`
Run Code Online (Sandbox Code Playgroud)

打破触摸.谢谢.

objective-c uitableview ios

4
推荐指数
1
解决办法
5674
查看次数