UIRichText的超链接文本在该对象下面有一个可点击对象的时候,UIRichText的超链接文本则无法被点击到。设置的setOpenUrl方法不会被执行到
lua测试代码:
local MainScene = class("MainScene", cc.load("mvc").ViewBase)
function MainScene:onCreate()
-- add background image
display.newSprite("HelloWorld.png")
:move(display.center)
:addTo(self)
-- add HelloWorld label
cc.Label:createWithSystemFont("Hello World", "Arial", 40)
:move(display.cx, display.cy + 200)
:addTo(self)
local bglayer = createOneShade():addTo(self)
bglayer:setTouchEnabled(true)
local testStr = "<font face='' color='#FF0000'><a href='www.baidu.com' ><i><u>www.baidu.com</u></i></a><img src='HelloWorld.png' width='40' height='70'/>你是谁</font>"
local richText = ccui.RichText:createWithXML(testStr)
:setPosition(display.cx,display.cy)
:addTo(self)
end
function createOneShade(shadeName,shadeOpacity)
return ccui.Layout:create()
:setName(shadeName or "layer_shade")
:setBackGroundColorType(1)
:setBackGroundColor(cc.c3b(100,100,0))
:setBackGroundColorOpacity(shadeOpacity or 200)
:setContentSize(cc.size(display.width,display.height))
:align(display.CENTER, display.cx, display.cy)
end
return MainScene
如果将bglayer的TouchEnable设置为false这可以触发点击事件
local bglayer = createOneShade():addTo(self)
bglayer:setTouchEnabled(false)
目前已经修复掉了
修改的办法是把RIchText中继承Node的text 继承到Label了。