解答

作者: 冷了年度 | 来源:发表于2018-03-13 10:08 被阅读131次

    1、改变view的frame,layer的frame是否会变化?改变layer.frame,view的frame是否会变化?请问原因是什么?

    http://blog.csdn.net/yancechen2013/article/details/51499075

      UIView *view = [[UIView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
        view.backgroundColor = [UIColor redColor];
        [self.view addSubview:view];
        NSLog(@"修改前view-%@ layer%@",NSStringFromCGRect(view.frame),NSStringFromCGRect(view.layer.frame));
        view.frame = CGRectMake(100, 200, 200, 200);
    //    view.layer.frame = CGRectMake(100, 200, 200, 200);
        NSLog(@"修改后view-%@ layer%@",NSStringFromCGRect(view.frame),NSStringFromCGRect(view.layer.frame));
    

    打印:
    2018-03-12 15:31:54.320367+0800 mianshi[7499:427395] 修改前view-{{100, 200}, {100, 100}} layer{{100, 200}, {100, 100}}
    2018-03-12 15:31:54.320566+0800 mianshi[7499:427395] 修改后view-{{100, 200}, {200, 200}} layer{{100, 200}, {200, 200}}
    都会。通过打印看出来都改变了。
    每个 UIView 内部都有一个 CALayer 在背后提供内容的绘制和显示,并且 UIView 的尺寸样式都由内部的 Layer 所提供。


    D9DB60AE-687D-4CA9-841A-7DB04E7D831C.png

    2、autoreleasepool的释放时机是什么,什么时候需要自己声明一个autoreleasepool。

    http://blog.csdn.net/z040145/article/details/69398768
    本次runloop迭代结束时;
    最重要的使用场景,应该是有大量中间临时变量产生时,避免内存使用峰值过高,及时释放内存的场景。
    官方解释

    4、求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4](需写明思路,并编程实现)。

    http://blog.csdn.net/liu2012huan/article/details/51296635
    简单来说,就是在一个数组A1...nA1...n中找到一个子数组Ai...jAi...j使得
    ∑jk=iAk∑k=ijAk最大,也有找最小值的(可以转化为找最大值的问题,不再详述)

    相关文章

      网友评论

        本文标题:解答

        本文链接:https://www.haomeiwen.com/subject/wpwnfftx.html