我看到了一个没有nib文件的iphone开发视频教程。
任何没有编写nib文件的人都会知道你必须从plist中删除nib文件,然后在main.m函数UIApplication中添加代码。
无论如何关于以下代码:
(来自app delegate class)
- (BOOL)applicationUIApplication *)application didFinishLaunchingWithOptionsNSDictionary *)launchOptions {
// Override point for customization after application launch
// window = [[UIWindow alloc] initWithFrame:[ [UIScreen mainScreen] bounds]];
window = [[UIWindow alloc] initWithFrame:<#(CGRect)frame#>
[window makeKeyAndVisible];
return YES;
}
我注释掉的行(// windows = [[UIWindows alloc .... etc etc))来自教程。基本上,代码初始化UIWindows的新实例并设置主屏幕等。
我进入了xcode(并使用了intellisense)并开始输入行“”“windows = [window = [[UIWindow alloc] initWithFrame:&lt;#(CGRect)frame#&gt;。”“”“
为什么我无法在UIWindows类参考文档中找到名称initWithFrame参数? (我在UIView中找到了它)
CGRect是什么意思?做教程的人怎么知道如何添加这段代码“”“window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];”“”“以便调出一个窗口。
我的观点是,不应该能够使用intellisense和apple docs进行编程吗?或者我是否必须依靠某人来实际告诉我它是如何完成的?
我开始使用IBuilder,说实话,我可以构建任何东西,但只能通过谷歌搜索和跟踪教程。例如,使用导航控制器制作应用程序,我可以做到,但只有当有人向我展示时(当然我可以调整代码并将两个和两个放在一起)。如果是苹果文档和intelliesnse,我会迷失方向。对其他人来说这是一样的吗?
我想要准确而完美地了解UIview,UIwindows和UIviewcontoler的工作原理,它们各自的含义是什么?他们如何相互合作?任何好书,有些人可以推荐我。我知道Heirgrass,Stephan Kochan并且读了那些书。我也阅读了本论坛推荐的Iphone开发书,但这些书只是给你代码,他们不解释如何以及为什么?
也许我应该阅读苹果文档,开始一个小项目,并从经验中学习。
感谢您的及时回复。
你认为提到的代码行可以通过引用apple sdk来生成吗?或者你认为有人必须实际向我展示如何将所有课程相互结合使用? (即通过教程或书籍或示例代码等)。 ?
我知道代码粗略地做了什么,我应该只关注结果还是应该准确了解代码中发生了什么?
您是否同意有时无法学习如何使用课程或进行编程,除非有人为您提供示例代码?
例如最近我学会了如何使用UInavigationcontolller在不同的视图之间导航。我注意到,当我阅读代码并且忘记了IB时,我终于理解每个View都有自己的UIViewcontoller(扩展类)。当我在互联网上阅读书籍和教程时,我没有理解这个基本事实。
答案 0 :(得分:2)
开始:CGRect
是一个结构,有4个参数:x origin,y origin,width,height。
另外:行
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
使用框架(UIWindow
对象)分配和初始化CGRect
,该框架是当前主屏幕(一个UIScreen
对象,指向运行代码的屏幕)边界,是说它的框架。您在UIWindow
docs中找不到initWithFrame的原因是因为它从UIView
指针:如果您在Xcode中并右键单击API定义的类(UIView
,UIWindow
,CGRect
等),您可以转到查找文档中的文本,该类的Apple Docs将在xcode中弹出。
开始编程iOS的好指南是here。我还推荐这本书Beginning iPhone Development。这是一个很好的入门指南,并且做得很好。