使用Three20(XCode4.3.1验证)

  想尝试three20,但是发现很多资料都过时了,比如增加模板那个。然后找说明,发现这篇文章基本上是可用的。

  弄了好几天终于把three20弄到项目中了。


(1)新建一个空项目




(2)将three20的文件夹复制到与新建的项目同级下(这个three20是改过一些文件后重新编译的所以文件名字改了下)



(3)选中下图中的文件


(4)将上面的文件托至新建的工程中,如下图



 (5)看一下新拖进来的文件的结构



 
 (6)选中“Dependencies文件夹”下的几个文件同样拖到新建工程下,和最先拖进来的文件同级。



(7)点击工程 》TARGETS 》Test320 找到 “Target Dependencies” , 点击“+”号将带房子的文件加入到项目中。



 (8)点击工程 》TARGETS 》Test320 找到 “Link Binary With Libraies” , 点击“+”号将"xxx.a"的文件加入到项目中,并把QuartzCore.framework框架引入。



(9)再截个图,防止有些朋友找不到具体在那里配置





(10)点击PROJECT 下的Test320,点击选项卡的Build Settings,在Header Search Path添加Three20的头文件存放位置,下图只添加了一个包的路径(../Three20_1_0_11/Build/Products/three20),路径为相当路径,也可为绝对路径。



 


(11)同样的方法添加other link为-all_load -ObjC(这个我添加后反而链接出错了,后来去掉了链接反而能通过。但是出错的事实证明,这是必须的)



 



(12)开始测试吧,贴出代码,看图说话


C代码   收藏代码
  1. #import <Three20/Three20.h>


 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯



C代码   收藏代码
  1. <span style="font-size: small;"> self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  2.     // Override point for customization after application launch.  
  3.     TTTabGrid *_tabBar3 = [[TTTabGrid alloc] initWithFrame:CGRectMake(0, 100, 280,80)];  
  4.     _tabBar3.backgroundColor = [UIColor clearColor];  
  5.     _tabBar3.tabItems = [NSArray arrayWithObjects:  
  6.                          [[[TTTabItem alloc] initWithTitle:@"Banana"] autorelease],  
  7.                          [[[TTTabItem alloc] initWithTitle:@"Cherry"] autorelease],  
  8.                          [[[TTTabItem alloc] initWithTitle:@"Orange"] autorelease],  
  9.                          [[[TTTabItem alloc] initWithTitle:@"Pineapple"] autorelease],  
  10.                          [[[TTTabItem alloc] initWithTitle:@"Grape"] autorelease],  
  11.                          [[[TTTabItem alloc] initWithTitle:@"Mango"] autorelease],  
  12.                          [[[TTTabItem alloc] initWithTitle:@"Blueberry"] autorelease],  
  13.                          [[[TTTabItem alloc] initWithTitle:@"Apple"] autorelease],  
  14.                          [[[TTTabItem alloc] initWithTitle:@"Peach"] autorelease],  
  15.                          nil];  
  16.     [_tabBar3 sizeToFit];  
  17.     [self.window addSubview:_tabBar3];  
  18.     [self.window makeKeyAndVisible];  
  19.     return YES;</span>  

 



(13)现在编译运行,哈哈,回报错的。



(14)双击下图中的文件后再运行下工程



(15)成功拉




但是我在ipad上实验,发现是死机的,出现了-[UIDeviceRGBColor multiplyHue:saturation:value:]: unrecognized selector sent 具体怎么回事呢,还要继续研究。

继续研究,自己跟踪,无果。然后上网搜索,three20 UIDeviceRGBColor multiplyHue ,结果在cocochina上发现了解决方案:

请检查是否加入了QuartzCore.framework
并且检查编译选项是否添加了 -all_load -ObjC


我重新尝试,发现其实还是要在other linker flags加入-all_load -ObjC,不是编译选项增加。可能我之前没写正确,或者load和-objC之间没有空格。反正最后,效果出来了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值