-- 限制label的宽度, 当达到limitWidth时,添加省略号 ...
function SetLabelStringByLimitWidthOfOtherStr(labelObj,limitWidth,otherStr)
-- body
local function getStrMap(str)
-- body
local strTab = {}
for uchar in string.gfind(str, "[%z\1-\127\194-\244][\128-\191]*") do
strTab[#strTab+1] = uchar
end
return strTab
end
if labelObj:getContentSize().width <= limitWidth then return end
local labelStr = labelObj:getString()
local strMap = getStrMap(labelStr)
labelObj:setDimensions(0,0)
local setStr = ""
local tempStr2 = ""
local otherStr = otherStr
for k,v in pairs(strMap) do
local tempStr = tempStr2..v
labelObj:setString(tempStr..otherStr)
if labelObj:getContentSize().width > limitWidth then
break
else
tempStr2 = tempStr
end
end
setStr = setStr..tempStr2..otherStr
labelObj:setString(setStr)
end
function getLabelStringByLimitWidth(labelStr,limitWidth)
-- body
local function getStrMap(str)
-- body
local strTab = {}
for uchar in string.gfind(str, "[%z\1-\127\194-\244][\128-\191]*") do
strTab[#strTab+1] = uchar
end
return strTab
end
local labelStr = labelStr
local strMap = getStrMap(labelStr)
local setStr = ""
local tempStr2 = ""
for k,v in pairs(strMap) do
local tempStr = tempStr2..v
labelObj:setString(tempStr)
if labelObj:getContentSize().width > limitWidth then
tempStr2 = tempStr2.."\n"
setStr = setStr..tempStr2
tempStr2 = ""
else
tempStr2 = tempStr
end
end
setStr = setStr..tempStr2
return setStr
end