区块链技术博客
www.b2bchain.cn

iOS面试题目解析06- 查找最近公共父view求职学习资料

本文介绍了iOS面试题目解析06- 查找最近公共父view求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

题目:找出两个 UIView 的最近的公共父 UIView,如果不存在,则输出 nil。
思路:如果是在不同的Window上,则没有公共父 view。 用 set 保存 view1 的所有父view,再遍历 view2 的父view,如果set中有,则为最近父view。

“`objc

  • (UIView *)commonSuperViewFromView1:(UIView *)view1 view2:(UIView *)viwe2 {
    NSSet *view1SuperViews = [self superViews:view1];
    while (viwe2 != nil) {
    if ([view1SuperViews containsObject:viwe2]) return viwe2;
    viwe2 = [viwe2 superview];
    }
    return nil;
    }

  • (NSSet *)superViews:(UIView *)view {
    if (!view) return nil;

题目:找出两个 UIView 的最近的公共父 UIView,如果不存在,则输出 nil。
思路:如果是在不同的Window上,则没有公共父 view。 用 set 保存 view1 的所有父view,再遍历 view2 的父view,如果set中有,则为最近父view。

“`objc

  • (UIView *)commonSuperViewFromView1:(UIView *)view1 view2:(UIView *)viwe2 {
    NSSet *view1SuperViews = [self superViews:view1];
    while (viwe2 != nil) {
    if ([view1SuperViews containsObject:viwe2]) return viwe2;
    viwe2 = [viwe2 superview];
    }
    return nil;
    }

  • (NSSet *)superViews:(UIView *)view {
    if (!view) return nil;

题目:找出两个 UIView 的最近的公共父 UIView,如果不存在,则输出 nil。
思路:如果是在不同的Window上,则没有公共父 view。 用 set 保存 view1 的所有父view,再遍历 view2 的父view,如果set中有,则为最近父view。

“`objc

  • (UIView *)commonSuperViewFromView1:(UIView *)view1 view2:(UIView *)viwe2 {
    NSSet *view1SuperViews = [self superViews:view1];
    while (viwe2 != nil) {
    if ([view1SuperViews containsObject:viwe2]) return viwe2;
    viwe2 = [viwe2 superview];
    }
    return nil;
    }

  • (NSSet *)superViews:(UIView *)view {
    if (!view) return nil;

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » iOS面试题目解析06- 查找最近公共父view求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们