instantiate problem

I’m trying to instantiate a text prefab and make all of the objects fall. This works but it doesn’t show on the scene. What’s wrong???
using UnityEngine;
using System.Collections;

public class NumbersFalling : MonoBehaviour {
	public GameObject thePrefab;
	int noOfObjects=0;
	void Start(){
		StartCoroutine ("InstantiatePrefab");
	}
	void Update(){
		GameObject[] numbersList=GameObject.FindGameObjectsWithTag("Number");
		foreach(GameObject i in numbersList){
			i.transform.position-=new Vector3(0,0.01f,0);
			i.SetActive(true);
		}
	}
	IEnumerator InstantiatePrefab(){
		GameObject instance=Instantiate (thePrefab, new Vector3(0,0,0), thePrefab.transform.rotation)as GameObject;
		noOfObjects++;
		yield return new WaitForSeconds(1);
		StartCoroutine ("InstantiatePrefab");
	}
}

Thank you. @ashleyjlive I made it so that I add the canvas as a component once the new object is created and it works now.