Text文本一些代码..自己记录用

local label = ccui.Text:create();
label:setFontName(DEFAULT_FONT);
label:getVirtualRenderer():setLineSpacing(spacing)--行间距
label:setContentSize()
label:setTextAreaSize();
label:setFontSize();
label:setTextColor();
label:setAnchorPoint(cc.p(0,1));
label:setPosition();
label:setString()

node:addChild(label);

label:setTextAreaSize高度为0表示自适应高。

如果text设置了行间距,但是ContentSize的大小不会变化,要获取正确的,请使用渲染大小

string:getVirtualRenderer():getContentSize().height



:附带一串创建一个文本tableview的方法

--创建一个文字的view
function createTextTableView( name , bg, stringnode ,position ,viewsize , spacing)
-- body
local textview = bg:getChildByName(name);
if textview then
textview:reloadData();
return
end
if not viewsize then
viewsize = cc.size(bg:getContentSize().width-20, bg:getContentSize().height-40);
end
local _height = viewsize.height;
local _textHeight = stringnode:getVirtualRenderer():getContentSize().height;
if not textview then
textview = cc.TableView:create(viewsize);
textview:setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL);
textview:setPosition(position);
textview:setBounceable(true)
textview:setDelegate();
textview:setName(name);
bg:addChild(textview);
if _textHeight < _height then
textview:setTouchEnabled(false);
else
textview:setTouchEnabled(true);
end
end
local function numberofCellsInfo(table)
return 1;
end
local function cellSizeForInfo(table,idx)
--return stringnode:getContentSize().width, stringnode:getContentSize().height;
return stringnode:getContentSize().width, _textHeight;

end
local function cellTouchedInInfo(table,cell)
cclog("touch cell"..cell:getIdx());
end
local function infoCellAtIndex(Table,idx)
local cell = Table:dequeueCell()
if nil == cell then
cell = cc.TableViewCell:new()
end   
cell:removeAllChildren(true);
local label = ccui.Text:create();
label:setFontName(DEFAULT_FONT);
if spacing then
label:getVirtualRenderer():setLineSpacing(spacing)--行间距
else
label:getVirtualRenderer():setLineSpacing(stringnode:getVirtualRenderer():getLineSpacing())--行间距
end
--label:setContentSize(cc.size(stringnode:getContentSize().width, stringnode:getContentSize().height - 20))
--label:setTextAreaSize(cc.size(stringnode:getContentSize().width, 0));
label:setFontSize(stringnode:getFontSize());
label:setTextColor(stringnode:getTextColor());
label:setAnchorPoint(cc.p(0,1));
label:setPosition(cc.p(0, _textHeight));
label:setString(stringnode:getString())
cell:addChild(label);
return cell;
end
textview:registerScriptHandler(numberofCellsInfo,cc.NUMBER_OF_CELLS_IN_TABLEVIEW);  
textview:registerScriptHandler(cellTouchedInInfo,cc.TABLECELL_TOUCHED);
textview:registerScriptHandler(cellSizeForInfo,cc.TABLECELL_SIZE_FOR_INDEX);
textview:registerScriptHandler(infoCellAtIndex,cc.TABLECELL_SIZE_AT_INDEX);
textview:setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN);
textview:reloadData();
end



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值