質問: Unityにおいてボタンを押すとInputFieldを非表示から表示するようにしたいしたいのですが,うまくいきません. ボタンを押すごとに表示,非表示,表示と切り替わるようにしたいです. を参考にして,ボタンを押すとInputFieldを無効にすることはできましたが,Placeholderのtextは消えず,無効から有効にする方法もわかりませんでした. また,無効から有効にするのではなく,表示も非表示から表示されるようにしたいです. よろしくお願いします. 追記 InputFieldの非表示は入力が不可になるだけでなく,見た目も非表示にしたいです. 表示,非表示を切り替えるボタンを押すたびに,InputFieldがでたり,消えたりするようにしたいです.
回答: こういうことですよね。動画をみてください。 参考動画 みなさんが回答されているとおりで、この場合は InputField コンポーネントではなく、InputField のゲームオブジェクト全体を SetActive で切り替えればよいと思います。 InputField ゲームオブジェクトには表示に関するコンポーネントなども含まれているので、ゲームオブジェクトごと切り替えてやればOKです。 参考スクリプト ``` using UnityEngine; using UnityEngine.UI; public class ButtonController : MonoBehaviour { // インスペクターから指定する public GameObject inputFieldGameObject; public Button button; private void Start () { bool isActive = true; // ボタンが押されたら、InputFieldゲームオブジェクトのアクティブ/非アクティブを切り替える button.onClick.AddListener ( () => { isActive = !isActive; inputFieldGameObject.SetActive ( isActive ); } ); } } ```