【发布时间】:2014-10-31 15:41:07
【问题描述】:
我正试图在行触摸时进入一个新场景。我希望被触摸的行以与 id 名称相同的文件名进入场景。我希望这不会太混乱。问题出在函数 rowtouch 中。这是我的代码。提前谢谢你。
local hike = {}
hike[1] = { name="Bell Canyon", difficulty="Easy" }
hike[2] = { name="Donut Falls", difficulty="Easy" }
hike[3] = { name="Hidden Peak", difficulty="Medium" }
hike[4] = { name="Dog Lake", difficulty="Easy" }
hike[5] = { name="Mary, Martha", difficulty="Easy" }
hike[6] = { name="Catherine", difficulty="Easy" }
function scene:create( event )
local sceneGroup = self.view
local function onRowRender( event )
local row = event.row
local id = row.index
row.nameText = display.newText( hike[id].name, 12, 0, native.systemFont, 45 )
row.nameText.anchorX = 0
row.nameText.anchorY = 0.5
row.nameText:setFillColor( 0 )
row.nameText.y = 50
row.nameText.x = 25
row.difficultyText = display.newText( hike[id].difficulty, 12, 0, native.systemFont, 24 )
row.difficultyText.anchorX = 0
row.difficultyText.anchorY = 0.5
row.difficultyText:setFillColor( 0.5 )
row.difficultyText.y = 110
row.difficultyText.x = 25
row.arrow = display.newText( ">", 12, 0, native.systemFont, 35 )
row.arrow.anchorX = 0
row.arrow.anchorY = 0.5
row.arrow:setFillColor( .5 )
row.arrow.y = 110
row.arrow.x = display.contentWidth - 50
row:insert( row.nameText )
row:insert( row.difficultyText )
row:insert( row.arrow )
return true
end
function RowTouch( event )
if event.phase == "release" then
composer.gotoScene( event.target.hike[id].name )
end
end
myTable = widget.newTableView
{
width = display.contentWidth,
height = display.contentHeight,
backgroundColor = { .47, .66, .53 },
topPadding = 0,
hideBackground = false,
onRowRender = onRowRender,
onRowTouch = RowTouch,
noLines = true,
}
for i=1, #hike do
myTable:insertRow{
rowHeight = 220,
isCategory = false,
lineColor = { .47, .66, .53 }
}
end
end
【问题讨论】:
-
请描述您当前得到的不良影响或包含错误。
标签: android ios lua tableview coronasdk