小编mip*_*ips的帖子

核心数据,"按瞬态属性排序"解决方法

假设我有一个名为Event的Core Data实体,它代表周期性(年度)事件.每个活动都有一个"日期"属性.

我需要将此事件呈现给按"下一次出现日期"排序的用户.当然,此属性取决于当前日期,因此应标记为瞬态:将数据存储在数据库中没有意义.

但是,如您所知,您无法通过Core Data中的瞬态属性查询排序.

是否有一种聪明的方法可以保持此属性的瞬态,并且仍然可以为我排序Core Data?我不想获取然后对自己进行排序,但我还想避免将此瞬态信息存储在数据库中.

sorting core-data transient ios

11
推荐指数
1
解决办法
3225
查看次数

自定义UITableViewCell和setSelected上的动画:动画:

我有一个UITableViewCell子类,它在drawRect:方法中进行绘制.整个矩形是自定义绘制的,包括背景.我能够在保持滚动非常平滑的同时获得非常复杂的单元格.

我的问题:[table deselectRowAtIndexPath:path animated:YES];每当视图出现时我都会打电话,以便遵守Apple的HIG.但是,不会发生动画.当我有一个透明的自定义视图(用子视图创建)时(当时Apple的背景会出现在下面),它可以工作.现在它没有.

我的drawRect:在"动画时间"中被调用一次,大约一半.我认为这是因为它将单元格的突出显示属性设置为1到0,并且当它降至0.5以下时会捕捉到0.

我该如何设置这种过渡的动画?我的猜测是使用通常的beginAnimations:等,并在我的单元格对象中设置一个自定义浮点字段,从1到0.这会drawRect:反复调用动画吗?

更新 我设法使这几乎工作.我已经覆盖了setSelected:animated:就像这样:

- (void) setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:NO];

    if (animated) {
        [CATransaction begin];
        CATransition* animation = [CATransition animation];
        animation.type = kCATransitionFade;
        animation.duration = 0.6;
        [animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
        [view.layer addAnimation:animation forKey:@"deselectRow"];
        [CATransaction commit];
    }
}
Run Code Online (Sandbox Code Playgroud)

如果表格视图在屏幕上,这将完美地工作.但是如果我从导航(返回)返回到表格视图,而不是从选定内容淡入到未选中,则它会从不可见变为未选中.是什么导致这个?

iphone uitableview drawrect ios

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

标签 统计

ios ×2

core-data ×1

drawrect ×1

iphone ×1

sorting ×1

transient ×1

uitableview ×1