- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试向页面添加一个新的 subview ,这样除了它本身之外的所有内容都显示为灰色。但是,我是从屏幕的 subview 中调用它的。要将其取出,我必须执行以下操作:
[self.view.superview.superview.superview.superview addSubview:self.cardDialog.view];
如您所料,这是极其糟糕的代码。如何找到合适的父级别并正确设置?
最佳答案
如果 View 是 View 层次结构的一部分,请使用 window
属性。
UIView* topView = self.view.window;
或者如果你的 View 还没有出现在屏幕上,你可以通过你的应用代理间接获取窗口
UIView* topView = [UIApplication sharedApplication].delegate.window;
否则,如果您的目标不是窗口,您可以沿着 View 层次结构向上移动,直到找到您想要的 View :
UIView* topView = self.view;
while(topView.superview != nil){
topview = topView.superview;
if( /*topview is the one you were looking for*/ ){
break;
}
}
关于ios - 如何找到最父级的 SuperView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971325/
我想为我的 UILabel 实现与 iOS 7 的新 iTunes 远程更新相同的效果。 如果您查看此屏幕: (右边的那个)你会注意到 UILabel 文本颜色是背景模糊的专辑封面,没有黑色 mask
这里有两个组件,UIView *superView 和 UILabel *label。 label 是 superView 的 subview 。问题是当我将标签移出其 super View 时,标签
我正在开发一个应用程序,其中我的所有 UIViewControllers 具有通用的 UITableView 结构。所以我创建了一个包含通用结构的 UITableView 子类,然后我将这个 View
我有一个简单的 iPad 应用程序,其中包含以下 View 层: BaseView(覆盖整个可用区域)。 SquareView(覆盖 100x100px 区域)。 SquareView 作为 subv
我正在查看 SnapKit 文档:http://snapkit.io/docs/ 如果您转到使用部分,它会显示以下示例代码: let box = UIView() superview.addSubv
我正在尝试向页面添加一个新的 subview ,这样除了它本身之外的所有内容都显示为灰色。但是,我是从屏幕的 subview 中调用它的。要将其取出,我必须执行以下操作: [self.view.sup
我正在开发一个小游戏,我想在 super View 上做一些功能.. super View 是一个自定义类,即 Reflection View..并希望在用户移动 View 时隐藏反射.. 这是我所做
ScrollView 有一些 SubViews.... ScrollView 包含它的预定义手势(Pan) 和我的自定义手势(Pan) 以及同时识别它... SubViews 还包含自定义 Pan G
我有一个videPlayerView,它上面有ContainerView来显示activityIndicatorView。当我从单元格内的 collectionView 中选择一个项目时, Vie
我有一个与其他子托管对象处于“对多”关系的托管对象。当我删除子管理对象之一时,主管理对象上表示与子管理对象关系的数组将被清空。 下面是我获取 subManaged 对象并将其删除时发生的情况的日志。我
基本上,我希望能够单击下图中的所有 subview ... 我希望能够点击 View B 的 subview ,但 View A 挡住了,即使 View A subview 没有阻挡下面的 View
我正在创建 UIView 的子类以在项目中使用,并将处理主视图上的触摸。我希望当拖动触摸(在主视图上)并接触特殊的 UIView 时,它们会更改其背景颜色。使用 UIView 的默认“touchesM
我在 UIView 中有一个 UIButton,有两个约束。这两个约束都是在 Interface Builder 中设置的,以便 UIButton 在其 super View 中垂直和水平居中。 我想
Collection View Cell 的子类化方式如下: 我在 Collection View 中有这个布局。在创建每个按钮时,我调用以下代码: [cell.imageButton add
我正在使用自动布局。我有一个 UIView,它位于距 super View 中心 20 像素的边距处。 现在我已经将顶部空间分配给了我在 iPhone 6+ Xib 中创建的 super View 。
这个问题在这里已经有了答案: Xcode 6 beta 7: storyboard adds extra space on right and left sides (1 个回答) 关闭 8 年前
我在屏幕上有一个从 XIB 加载的 subview ,我需要在其父 View 上禁用触摸事件ONLY,同时最终不触摸 subview 。我该怎么做?另外,我使用的是 iOS。 谢谢! 最佳答案 这就是
我有一个 UICollectionView,它使用 - (void)scrollViewDidScroll:(UIScrollView *)scrollView 来确定用户何时滚动到底部。 我的 UI
我试图将点击事件传递给 super View ,但处理长按事件。我已将 LongPressGestureRecognizer 添加到顶 View ,但点击事件未传递到 super View 。我尝试了
我将 subview 添加到父 View ,我想约束 subview 。但它什么都不做。 subview 在父 View 上全屏添加。请帮助我,出了什么问题? 这是我的代码: override f
我是一名优秀的程序员,十分优秀!