2014-09-05 102 views
0

我無法用作曲者或故事板改變場景。當我在tableview中觸摸一行時,我試圖改變場景。我可以使用tableview將場景從主文件更改爲文件。儘管如此,tableview touch仍然無法正常工作。Corona SDK onRowTouch gotoScene

我的一些代碼如下:

local widget = require("widget") 
    local storyboard = require("storyboard") 
    local composer = require("composer") 
    local scene = composer.newScene() 


function RowTouch(event) 
    composer.gotoScene("thehike") 
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 

function scene:show(event) 
    local sceneGroup = self.view 
    local phase = event.phase 

    if phase == "will" then 
     -- Called when the scene is still off screen and is about to move on screen 
    elseif phase == "did" then 
     -- Called when the scene is now on screen 
     -- 
     -- INSERT code here to make the scene come alive 
     -- e.g. start timers, begin animation, play audio, etc. 
    end 
end 

function scene:hide(event) 
    local sceneGroup = self.view 
    local phase = event.phase 

    if event.phase == "will" then 
     -- Called when the scene is on screen and is about to move off screen 
     -- 
     -- INSERT code here to pause the scene 
     -- e.g. stop timers, stop animation, unload sounds, etc.) 
    elseif phase == "did" then 
     -- Called when the scene is now off screen 
    end 
end 

function scene:destroy(event) 
    local sceneGroup = self.view 

    -- Called prior to the removal of scene's "view" (sceneGroup) 
    -- 
    -- INSERT code here to cleanup the scene 
    -- e.g. remove display objects, remove touch listeners, save state, etc. 
end 

--------------------------------------------------------------------------------- 

-- Listener setup 
scene:addEventListener("create", scene) 
scene:addEventListener("show", scene) 
scene:addEventListener("hide", scene) 
scene:addEventListener("destroy", scene) 

----------------------------------------------------------------------------------------- 

return scene 

回答

1

您的代碼不會爲一對夫婦的原因工作。你在第34行有一個懸掛的end,你沒有定義遠足。你可能需要以顯示在您的視圖中的行較小的rowHeight:

local myTable = widget.newTableView 
    { 
     left = 0, 
     top = 0, 
     height = 330, 
     width = 300 
    } 

myTable:insertRow(
     { 
      isCategory = false, 
      rowHeight = 40, 
      rowColor = rowColor, 
      lineColor = {.47, .66, .53} 
     } 
    ) 

同時,文檔是對這個相當不錯的[1]。

[1] http://docs.coronalabs.com/api/library/widget/newTableView.html