2016-04-01 3 views
2

Наше приложение поддерживает только portrait и мы вручную вращающиеся некоторые объекты, но мы шток с этим native.newTextFieldКак исправить native.newTextField ориентацию вращения

-- setupTextField 
function setupTextField() 

    local txNameBG = display.newImageRect("images/login/login-input-bg.png", 225, 30) 
    txNameBG.x = _gameCenter.x 
    txNameBG.y = _gameCenter.y 
    sceneGroup:insert(txNameBG) 
    _events.fixRotate(txNameBG) 

    if (txName == nil) then 
     txName = native.newTextField(_gameCenter.x, _gameCenter.y, 225, 30) 
     txName.hasBackground = false 
     txName.inputType = "default" 
     txName.placeholder = "INSERT NAME" 
     txName.align = "center" 
     txName.font = native.newFont(native.systemFont, 15) 
     txName:setTextColor(163, 25, 12) 
     txName:addEventListener("userInput", _events.textListener) 
     sceneGroup:insert(txName) 
     -- _events.fixRotate(txName) 

    end 

end 

Здесь есть функция, мы используем для вращающихся объектов (только те, которые являются родными. *) не отвечают.

eventClass.fixRotate = function (obj) 

    obj:rotate(90) 
    obj.isFixedRotation = true 
    -- obj.angularVelocity = 0 

end 

Это правильное расположение, но текст внутри native.newTextField разрезали,

enter image description here

Это то, что произойдет после поворота (landscapeRight)

enter image description here

Как исправить это?

+0

Невозможно поменять ширину и высоту при повороте? – Amir

+0

Нет, я не думаю, что мне нужно поменять ширину с высотой .. Я просто вращал объект. Другие объекты отреагировали отлично, и почему я поддерживаю только ориентацию «портрет» – 0yeoj

+0

Могу ли я попросить вас подать Сообщить об ошибке? Пожалуйста, составите небольшое приложение, которое демонстрирует проблему. Приложение должно содержать файл main.lua, config.lua и build.settings и любые активы, необходимые для создания и запуска приложения. Поместите это в ZIP-файл и посетите: https://developer.coronalabs.com/content/bug-submission –

ответ

1

Хорошо. Я нашел решение:

settings = 
{ 
    ... 

    orientation = 
    { 
     // I changed 
     // supported = { "portrait" }, to 
     // 
     supported = { "portrait", "landscapeRight", "landscapeLeft", "portraitUpsideDown"} 
    } 
    ... 
} 

Кроме того, я узнал, что текст, который был вырезан происходит только в Corona Simulator, но в реальном устройстве (iP6plus в моем случае) это выглядит довольно хорошо. Так как мои личные советы, всегда проверяйте свое приложение на реальном устройстве.

0

Включите это в build.setting

settings = { 
    orientation = 
    { 
     default = "landscapeRight", 
     content = "landscapeRight", 
     supported = { "landscapeRight", "portrait" }, 
    }, 
} 
+0

Хорошо, я попробую это завтра, но одно, наше приложение поддерживает только ориентацию «портрет», landscapeRight 'сделает его ландшафтным по умолчанию .. – 0yeoj

+0

Неужели для портрета все будет в самом начале? – Amir

0

Я не знаю, как затвердеть native.newTextField() для поворота вручную. Я спросил в комментариях выше, чтобы получить отчет об ошибке, представленный на этом. Я точно знаю, что textFields правильно вращаются, когда вы сказали, что хотите поддерживать ориентацию Portrait и Landscape в файле build.settings.

Я не уверен, почему вы хотите сделать это вручную, вместо использования события onOrientation для повторной компоновки страницы вместо того, чтобы вращать все ваши объекты.

Rob

+0

Спасибо. На самом деле я закончил использование 'Runtime: addEventListener (« resize », onResize)' и ретранслирование/масштабирование объектов. К сожалению, я не могу сообщить только сейчас; мы немного опаздываем по графику ... Но я обязательно отправлю скоро ... – 0yeoj