当前位置: 代码迷 >> Iphone >> xcode 4.3.2 通过 empty application 构建 window based application 遇到的有关问题
  详细解决方案

xcode 4.3.2 通过 empty application 构建 window based application 遇到的有关问题

热度:513   发布时间:2016-04-25 06:30:39.0
xcode 4.3.2 通过 empty application 构建 window based application 遇到的问题
我使用的是 xcode4.3.2 通过empty application 构建了 window based application
使用的是如下网址的 教程http://www.cnblogs.com/ghj1976/archive/2012/05/25/2518121.html

根据网址上的操作下来,可以达到部分的效果
具体表现在:操作完成后,第一次运行这个app 可以看到 label 里面的 1231232
但是如果我按home退出后,再次进入这个app的话,上面的label没有了

我不清楚是哪里的问题。

还有,我对文章中提到的下面的一句话不是很了解:
修改 WBAppAppDelegate.h 文件,把 window 暴露给 xib 文件, 即增加IBOutlet 属性
修改前代码:
@property (strong, nonatomic) UIWindow *window;
修改后代码:
@property (strong, nonatomic) IBOutlet UIWindow *window;
把 App Delegate 的 window 跟界面上的Window捆绑(这句话是对上面的代码的注释吗?还是需要再做什么操作)




------解决方案--------------------
把 App Delegate 的 window 跟界面上的Window捆绑.
这句话意思就是按照他的图片的提示,用鼠标按住window后的那个小圆点拖动到箭头所指位置。

IBOutlet是与xib文件交互的输出口,作用是告诉Interface Builder,此实例变量将被连接到nib中的对象。

可以不用nib直接用代码来写的。

------解决方案--------------------
要么你加了代码,要么你的系统有问题。重启启动一下程序。或者把你的AppDelegate.m贴出来。
------解决方案--------------------
跟着那篇文章做了一遍,确实是会出现那个从后台切换回来后label不显示的问题。目前没找到问题所在(个人猜想问题应该是出在那个Main interface的配置上),不过新建项目时一般都不这么做,一般是在Appdelegate里将nib文件初始化。
------解决方案--------------------
仔细看了一下,一个程序也就一个window,你应该往里面添加view而不是window,如果你一定要手动添加window,那么你就把系统和window界面有关的代码注释掉,
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColor whiteColor];

主要就是这两句。至于为什么留下这两句会出现你说的问题,估计要仔细研究研究iphone的window才能回答你。
------解决方案--------------------
如果没弄错的话,xcode3.2里面的AppDelegate.m里面应该没有上面两行代码。
------解决方案--------------------
看来我也得换成4.3才行。
  相关解决方案