Ios 制作主视图的视图子视图,而不是它在视觉上所处的视图,这是一种好的做法吗?
假设在我的视图控制器中,我有一个自定义的Ios 制作主视图的视图子视图,而不是它在视觉上所处的视图,这是一种好的做法吗?,ios,cocoa-touch,uiview,uikit,Ios,Cocoa Touch,Uiview,Uikit,假设在我的视图控制器中,我有一个自定义的UIView,它保存视图控制器视图中的特定区域。让我们将此视图称为viewA。我有一个名为viewB的自定义UIView,它位于viewA的范围内。我曾经认为viewB必须是viewA的子视图,因为它在它的范围内。但今天我和一位同事发生了一场争论,他说viewB不一定是viewA的子视图,而是视图控制器视图的子视图。你怎么认为?关于这个问题有共同的规则吗 我认为不存在viewB必须是viewA的子视图的情况,因为它位于其范围内 视图层次结构由UIView的
UIView
,它保存视图控制器视图中的特定区域。让我们将此视图称为viewA
。我有一个名为viewB
的自定义UIView
,它位于viewA
的范围内。我曾经认为viewB
必须是viewA
的子视图,因为它在它的范围内。但今天我和一位同事发生了一场争论,他说viewB
不一定是viewA
的子视图,而是视图控制器视图的子视图。你怎么认为?关于这个问题有共同的规则吗 我认为不存在viewB必须是viewA的子视图的情况,因为它位于其范围内
视图层次结构由UIView的数组属性子视图组织。每个子视图都有自己的框架信息,可以相对于父视图的边界进行布局。重叠是正常的我认为不存在viewB必须是viewA的子视图的情况,因为它位于其边界内
视图层次结构由UIView的数组属性子视图组织。每个子视图都有自己的框架信息,可以相对于父视图的边界进行布局。重叠是正常的在我看来,这取决于viewA和viewB的使用。如果始终希望将viewB相对放置在viewA的边界内,或者始终希望将viewA和viewB一起使用,则将viewB添加为子视图可能会更简单。如果您想单独定位和使用这两个视图,或者如果这两个视图的位置本身不相关,我会说它们应该是单独的视图
简言之,仅仅因为视图重叠并不意味着它们属于一起/一个视图应该是另一个视图的superview。在我看来,这取决于viewA和viewB的使用情况。如果始终希望将viewB相对放置在viewA的边界内,或者始终希望将viewA和viewB一起使用,则将viewB添加为子视图可能会更简单。如果您想单独定位和使用这两个视图,或者如果这两个视图的位置本身不相关,我会说它们应该是单独的视图
简言之,仅仅因为视图重叠并不意味着它们属于一起/一个应该是另一个的superview。
UITableViewCell
UITableView的子视图,不是因为它们与UITableView
的边界在一起,而是因为它们有内部连接
在您的案例中,您需要考虑
viewA
和viewB
是否有一些真正的关系,或者只是碰巧在一起。也许viewA
访问和修改viewB
很多?或者viewB
是viewA
的一个组件?此时,您需要将viewB
设置为viewA
的子视图。UITableViewCell
UITableView的子视图,这不是因为它们与UITableView
的边界有关,而是因为它们具有内部连接
在您的案例中,您需要考虑viewA
和viewB
是否有一些真正的关系,或者只是碰巧在一起。也许viewA
访问和修改viewB
很多?或者viewB
是viewA
的一个组件?这时需要将viewB
设置为viewA
的子视图