本文来源自:http://www.cocoachina.com/bbs/read.php?tid=41245
类似参考还有:http://www.cocoachina.com/bbs/read.php?tid-31022.html
将ipone项目转到ipad平台,如果有多个xib文件,该怎么办?
1。 首先,不能把问题考虑复杂了,这个转化其实很简单。
2。 将iphone版本升级成universal版本, 方法不赘述。
3。 在.plist里,应该会有main nib file base name这个key,对应MainWindow,就是iphone程序的入口;
同时会有main nib file base name(iPad)这项,如果没有,就自己建立个,universal版本会多出来这项,选择它就是了),然后需要自己建立个xib文件,来作为iPad入口,比如说MainWindow-iPad
技巧:已经有iPhone版的xib文件, 打开这个xib文件,然后file==>Create iPad version (using autosizing masks), 会自己生成一个iPad版本的 untile.xib的文件,然后另存为你自己的名字的iPad的xib就可以了。然后拖到并加入到你的项目里。
以上是解决程序入口的问题。
4。对于其他的xib文件,比如说AController.xib,
首先,用上面的技巧生成AController-iPad.xib并加入到你的项目里;
然后找到它对应类文件AController.m,
- (void)viewDidLoad
{
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
[[NSBundlemainBundle] loadNibNamed:@"AController-iPad"owner:selfoptions:nil];
}
else
{
[[NSBundlemainBundle] loadNibNamed:@"AController"owner:selfoptions:nil];
}
[superviewDidLoad];
//your other init code here
}
加入红色部分的code即可,那个loadNibNamed:根据具体的来改。
5。 对于内部的其他代码,若iPhone与iPad版本有区别的话,继续用好上面的if 判断语句就可以了。
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
//iPad version code here
}
else
{
//iPhone/touch version code here
}
6。强烈建议写程序时候对于控件位置和大小,别用具体的数字, 而用size.weight, size.height这样的写法,或者单独开个头文件define出去,不然一个一个的改尺寸大小会很郁闷的。
iphone-->iPad的改动,难倒是不难,主要是要细心而已。
暂时只想到这么多了,以后再补充。
undefined reference to 'pthread_create'问题解决
分类: Linux Ubuntu程序开发 2008-08-31 09:51 12304人阅读 评论(10) 收藏 举报
由于是Linux新手,所以现在才开始接触线程编程,照着GUN/Linux编程指南中的一个例子输入编译,结果出现如下错误:
undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
问题原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
问题解决:
在编译中要加 -lpthread参数
gcc thread.c -o thread -lpthread
thread.c为你写的源文件,不要忘了加上头文件#include<pthread.h>
g++ -g LinkList.cpp testlinklist.cpp -o testlinklist -lpthread
我按照论坛里帖子的方法设置了无线路由和小3,且固定了IP,怎么还是能够连接但无法打开网页,请高手指点!谢谢!
输入*#*#4636#*#*
然后选第一项,拉到最下面,看到dns切换的
使not allowed变成allowed