CCLabelTTF尽量使用setPosition而不是使用.position属性
今天在使用CCLabelTTF的过程中,发现一个现象,不论怎么设置,label就是不显示:代码如下:
//提示文字
if (m_dialog_type1_label == nil)
{
CGSize labelSize = m_dialog_type1.contentSize;
labelSize.width -= 35.0f * 2;
labelSize.height-= 10.0f * 2;
NSString * nsLabelString = FoolLocalizedString(@"Straight", nil);
//计算当前文本在当前的区域显示的情况下,所能使用的最大号字体
int fontSize =[m_appDelegate getFontSizeForString:[nsLabelString UTF8String] fontName:"Helvetica" maxFontSize:20 forSize:labelSize];
m_dialog_type1_label =
[CCLabelTTF labelWithString:nsLabelString dimensions:labelSize alignment:UITextAlignmentLeft lineBreakMode:UILineBreakModeWordWrap fontName:@"Helvetica" fontSize:fontSize];
m_dialog_type1_label.color = ccBLACK;
[self addChild:m_dialog_type1_label z:20];
}
m_dialog_type1.position =m_dialog_type1.position;
结果打死都不显示,后面将最后的一句代码:
m_dialog_type1.position =m_dialog_type1.position; 替换为:
[m_dialog_type1_label setPosition:m_dialog_type1.position];
就好了,真是坑爹啊,不知道这两个有啥区别,以后切记还是使用方法而不是属性吧。