【问题标题】:Loading new Views加载新视图
【发布时间】:2011-05-22 04:10:35
【问题描述】:

好的,所以我确定我在某个地方错过了这个,但我认为我需要其他人来解决这个问题,因为我已经在这个圈子里转了一段时间。

我的情况真的很简单。

我有两个文件 TapView.m TapView.h

在 AppController.m 调用 showTapView 方法时加载。

    -(void) showTapView {
[tapViewController resetAllStates:self];
[navigationController pushViewController animated:YES];
[tapViewController prepareTapView];
[[UIAccelerometer sharedAccelerometer] setDelegate:tapViewController];
}

现在这一切都很好,并且可以愉快地加载 TapView。这不是真正的问题,但我不喜欢以编程方式构建界面,我希望能够更改此方法,而不是加载它调用的以编程方式创建的视图基于 XIB 的视图,为了争论,我们将其称为 LazyView

现在,如果这样做是一件大事,我很高兴,并且可以让它倾向于编程,只是让它通过 Interface Builder 工作将在未来进一步扩展应用程序时对我有很大帮助:)


顺便说一句,如果有人想知道,我已经使用来自开源项目的一些示例构建了该应用程序,该应用程序现在已经没有太多相似之处了,但它来自 Remotepad - 非常感谢这些家伙发布了来源,它帮助我了解 Bonjour 没有尽头。

【问题讨论】:

    标签: iphone xcode ipad ios uiview


    【解决方案1】:

    听起来您正在寻找从 Nib 加载视图控制器的 initWithNibName 方法。

    UIViewController* controller = [[LazyViewController alloc] initWithNibName:@"LazyViewController" bundle:nil];
    [self.navigationController pushViewController:controller animated:YES];
    [controller release];
    

    【讨论】:

    • 嗯,我得到了两个红色错误 - 让我解释一下我做了什么 - 创建了新的 UIViewController 子类,插入上面的代码代替我给出的代码。第一个错误在第一行读取'LazyViewcontroller undeclared (first use in this function)。第二行在第二行显示“Accessing unknown 'navigationController' getter method”。
    • 只是为了更新,我适当地调整了我的 AppController.h(doh!),现在第一行只是警告 LazyViewController 是一个前向类,相应的@interface 可能不存在。第二行保留它的错误。
    • 制作nib文件时,可以设置类名。通常这将是一些扩展 UIViewController 的自定义类。如果您想测试笔尖是否正在加载,您可以使用UIViewController(存在)而不是LazyViewController(您必须创建)。
    • 确实可以满足我的需要。我的“懒惰视图”只是为了争论;-) 我刚刚修改为 UIViewController 并且它似乎工作,至少粗略一瞥。当我完成一天的工作后,我将不得不进行试验,看看它是否能让我保留我在编程接口中获得的功能。感谢您迄今为止的帮助!
    • 对,所以我花了一些时间来尝试这个。按照建议添加新的 UIViewController 是可行的,但是有一个问题(什么时候不存在?)我实际上要替换的是 TapView (LazyView 是一个坏例子),当我用这个新的 ViewController 替换它时,整个应用程序有点中断.从本质上讲,它在整个过程中都被大量编码以依赖于 tapViewController 并检查你有什么(它是一个网络应用程序,所以它就像那里的意大利面条交界处)有没有一种方法可以将一个新的 .xib 添加到我的 TapView.m Tapview.h并让他们参考它的界面布局而不是代码?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多