- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从模态视图 Controller (第二个)加载模态视图 Controller (第一个)。虽然听起来很复杂,但事实可能并非如此。
第一个 Controller 实际上是一个 UIWebView,它在 .m 文件的 loadView 方法中初始化:
- (void)loadView {
// Initialize webview and add as a subview to LandscapeController's view
myWebView = [[[UIWebView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease];
//CGRect forceframe = CGRectMake(0, 0, 480, 320);
//myWebView = [[[UIWebView alloc] initWithFrame:forceframe] autorelease];
myWebView.scalesPageToFit = YES;
myWebView.autoresizesSubviews = YES;
myWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
myWebView.delegate = self;
self.view = myWebView;
}
然后在viewDidLoad中:
- (void)viewDidLoad {
[super viewDidLoad];
// Load HTML file as an NSURL request
[self.myWebView loadHTMLString:updated_html baseURL:nil];
// Invoke the covering modal view on condition
if (some_condition) {
landscapeCoverController = [[UIViewController alloc] initWithNibName:@"LandscapeCoverController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:landscapeCoverController animated:YES];
[landscapeCoverController release];
}
预期的第二个模态视图 Controller (landscapeCoverController)使用我在 IB 中设置的 NIB 进行初始化。
我的预期目标是有条件地使用“LandscapeCoverController” View 覆盖 UIWebView,该 View 将具有一些按钮和交互性,这将导致第二个模态视图被关闭。
为什么我的 LandscapeCoverController 没有加载?任何想法都非常感激!
另外...第一个模态视图 Controller (LandscapeViewController) .h 看起来像:
@class LandscapeCoverController;
@interface LandscapeViewController : UIViewController <UIWebViewDelegate> {
UIWebView *myWebView;
LandscapeViewController *landscapeCoverController;
}
@property (nonatomic, retain) UIWebView *myWebView;
@property (nonatomic, retain) LandscapeViewController *landscapeCoverController; // Modal view controller
并且...第二个模态视图 Controller (landscapeCoverController) viewDidLoad 不执行任何操作:
// NIB initialized in LandscapeViewController.m viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
}
正如我所想
landscapeCoverController = [[UIViewController alloc] initWithNibName:@"LandscapeCoverController" bundle:[NSBundle mainBundle]];
[self presentModalViewController:landscapeCoverController animated:YES];
[landscapeCoverController release];
语句应该处理 Controller 的初始化和加载...
最佳答案
您将 LandscapeCoverController 声明为 LandscapeViewController
的实例,并将其分配为 UIViewController
。这很可能是您的问题(可能是第一个问题,因为您没有调用特定于 LandscapeViewController 的任何方法)。另外,由于 LandscapeCoverController 是一个实例变量,因此您实际上不需要在 presentModalViewController
之后释放它。尝试选择更多不同的类名。它将使您在以后避免类似的困惑。
关于iphone - 模态 UIViewController 不出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4420531/
我来自 Asp.Net 世界,试图理解 Angular State 的含义。 什么是 Angular 状态?它类似于Asp.Net中的ascx组件吗?是子页面吗?它类似于工作流程状态吗? 我听到很多人
我一直在寻找 3 态拨动开关,但运气不佳。 基本上我需要一个具有以下状态的开关: |开 |不适用 |关 | slider 默认从中间开始,一旦用户向左或向右滑动,就无法回到N/A(未回答)状态。 有人
我是一名优秀的程序员,十分优秀!