- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道 insertSubView 会在 iPhone 应用程序 View 层次结构的某个索引处插入一个新 View 。
我也明白
insertSubView atIndex:[[self.view subview ] 计数]
将在最顶部插入 subview ,使其成为唯一可见的 View 。这类似于 addSubview。
但是,我仍然是一个新手,我对“ View ”中包含的内容有点困惑。
我有一个根 Controller ,在它的 View 中有 3 个按钮。
我正在尝试使用 addSubView 来了解它是如何工作的,当我在 Index:1 处执行 insertSubview 时,我得到了以下结果:
看起来我添加的新 View 是在按钮 1 之后、按钮 2 和按钮 3 之前添加的。如果我将索引更改为 2,则只会显示按钮 3,因此看起来新 View 正在被添加放置在按钮 1 和 2 之后、3 之前。
这是为什么呢?为什么按钮有单独的 subview 索引?我本以为我的根 Controller View 中包含的所有内容都将属于单个 View 。它们是否以某种方式分开?
最佳答案
您所看到的完全正确。您添加button1,然后添加button2,然后添加button3。所以 View 堆栈将是:
button3 -> 索引 2
按钮2 -> 索引 1
按钮1 -> 索引0。
现在如果你这样做:insertSubview:atIndex:1,你会得到:
button3 -> 索引 3
按钮2 -> 索引2
AnotherView -> 索引 1
按钮1 -> 索引0。
这样只有button2和button3可见,因为button1因为“AnotherView”与其框架重叠而被隐藏。
同样,如果你这样做:insertSubview:atIndex:2,你会得到:
button3 -> 索引 3
AnotherView -> 索引 2
按钮2 -> 索引 1
按钮1 -> 索引0。
现在只有button3可见,因为“AnotherView”与它们的框架重叠,所以button1和button2都被隐藏了。
您还必须考虑的一件事是,z-index 本身并不能决定哪些 View 可见。只有当顶 View 有一个框架覆盖下面的 View 时,下面的 View 才会被隐藏。从您发布的图片来看,按钮的框架似乎只够显示文本,并没有占据整个窗口的框架
关于iphone - 与 insertSubView 的索引值混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8948649/
我知道 insertSubView 会在 iPhone 应用程序 View 层次结构的某个索引处插入一个新 View 。 我也明白 insertSubView atIndex:[[self.view
在我的容器 Controller 中,用户可以平移 View 以切换到不同的 View 。当平移手势开始时,它会将新 View Controller 的 View 添加到 View 中:view.in
向 UIView 添加 subview 时,方法 addView: 和 insertView:atIndex: 有什么区别? 最佳答案 两者都将 View 作为 subview 添加到接收器,这会导致
我有一个自定义 TabbarViewController这基本上隐藏了标准选项卡 View 。我附加了一个按钮,当按下该按钮时,会在屏幕上显示一个菜单。长时间使用该应用程序时一切正常,但在某些时候它会
我正在使用 Storyboards 开发一个运行 iOS 5.1 的 iPhone 应用程序。我有一个 UIViewController,底部有一个 UITabBar 组件。我正在使用 UITabBa
有点问题,这里是分割: 我的 AppDelegate 使用 rootViewController 作为 View Controller 。这个 View Controller 的目的是交换几个其他 V
我检查了很多这种方法的例子,但仍然无法弄清楚我在做什么有什么问题。我正在尝试在当前 View 下方添加另一个 View ,然后在用户单击当前屏幕上的按钮后删除我的当前 View 。由于某种原因, Vi
我一直在尝试使用 insertSubview:atIndex:在另一个下插入 subview 。问题是大多数时候不是上面索引较高的 View ,而是最后添加的 View 。我注意到,如果我选择索引 0
sendSubviewToBack 和 insertSubview:belowSubview: 方法有问题。简单地说,我有一个按钮,我将其插入到另一个 View _centerView 下方。我希望按
我有一个 UIView,在本例中有 4 个 subview 。我希望能够更改 subview 的顺序,但我似乎无法使用 [UIView insertSubview: atIndex:] 在一个特定的
在我的 Storyboard 上,我添加了一个点击图标作为 UIImageView,在代码中,我通过创建圆形 View 并放大和淡化它们来使其脉动并添加“波纹”效果。我使用 insertSubview
我有零错误。唯一的问题是我的模拟器中没有任何显示。我猜这是因为我在 awakeWithContext 中没有任何东西?我确实有 self.view.insertSubview(heartSymbol,
我以编程方式向特定 View 添加了 4 个 subview (label1、label2、label3、label4)和约束(label2 顶部取决于 label1 底部等)。现在我使用 inser
我是一名优秀的程序员,十分优秀!