- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我花了几个小时,但我无法弄清楚这一点。我有一个详细 View Controller (UITableView),在此处启动:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
EventLocationDetailController *newDetailViewController = [[EventLocationDetailController alloc] initWithNibName:@"EventLocationDetailController" bundle:nil];
self.eventDetailController = newDetailViewController;
[self.navigationController pushViewController:self.eventDetailController animated:YES];
[newDetailViewController release];
}
在详细 View Controller 中有一个按钮方法,它调用以下方法来显示滑入滑出动画以确认用户的选择:
-(void)confirmLastActionWithMessage:(NSString *)message {
ConfirmActionViewController *newConfirmActionViewController = [[ConfirmActionViewController alloc] initWithNibName:@"ConfirmActionViewController" bundle:nil];
self.confirmActionViewController = newConfirmActionViewController;
[newConfirmActionViewController release];
[[self.view superview] addSubview:self.confirmActionViewController.view];
}
ConfirmActionViewController 调用的协议(protocol)方法指示动画已完成。
-(void)didFinishConfirmDisplay:(UIView *)viewToRemoveFromSuperview {
[viewToRemoveFromSuperview removeFromSuperview];
}
我第一次按下按钮时效果非常好。如果我弹出详细 Controller 并将其推回堆栈并再次按下按钮,则不会发生任何事情,并且每次调用该方法时详细 Controller 的 super View 都为零。 Superview 在详细信息 View 的 viewWillAppear 方法中不为 nil,只有当它到达confirmLastActionWithMessage 方法时。其间不发生其他用户交互。如何取回 super View ?我有一个类似的代码,可以在没有动画的情况下工作。
我还注意到,详细 View Controller 在从堆栈中弹出时没有调用 dealloc。不知道问题出在哪里。
谢谢。
编辑1
好的。我用以下代码替换了 addSubview 行:
[self.view insertSubview:self.confirmActionViewController.view atIndex:0];
并且动画 View 出现在其中一个表格单元格的下方。表格单元格之一可以窃取 super View 吗?
最佳答案
嗯,我真的不明白为什么你应该将 subview 添加到 super View 。为什么不将其添加到 self.view
我可能无法解释为什么没有 super View ,但尝试将 Controller View 添加到 self.view 或
[[[[UIApplication sharedApplication] delegate] window] addSubview:yourview];
这会将 View 呈现在所有内容之上。
关于objective-c - 第二次启动 View Controller 后 Superview 为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11315375/
我想为我的 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
我是一名优秀的程序员,十分优秀!