Faits : Faits : A. Par arrêt du 13 juin 2006, la Cour d'assises du canton de Genève a condamné A._ pour viol (art. 190 al. 1 CP), à une peine de dix-huit mois de réclusion, avec sursis pendant cinq ans. Elle a notamment retenu les faits suivants: Le 27 juillet 2004, A._ a rencontré B._ dans un cabaret, où celle-ci travaillait comme "danseuse". Il a regagné son domicile en sa compagnie, dans le but d'entretenir une relation sexuelle rémunérée. Ne parlant pas le français, B._ aurait compris qu'ils allaient seulement retrouver d'autres personnes pour manger. Arrivé chez lui, A._ a conduit B._ dans sa chambre à coucher et a commencé à la caresser et à l'embrasser bien qu'elle ait manifesté son désaccord. A._ l'a alors attirée de force sur le lit conjugal, l'a battue et lui a serré le cou, l'empêchant ainsi de respirer. Terrorisée par le comportement violent de A._, qui lui faisait craindre pour sa vie et son intégrité corporelle, B._ a été forcée à subir l'acte sexuel. Ces faits correspondent à la version donnée par la victime. Confrontée à une version différente de A._ - qui soutient qu'il avait été convenu d'emblée d'entretenir une relation sexuelle tarifée avec B._, ce que celle-ci aurait fait de son plein gré, sans subir ni violences ni menaces - la Cour d'assises l'a écartée. Elle a notamment relevé que les déclarations de la victime étaient constantes - au contraire de celles de A._ - et que sa version était corroborée par les constations médicales des lésions qu'elle a subies. Ces faits correspondent à la version donnée par la victime. Confrontée à une version différente de A._ - qui soutient qu'il avait été convenu d'emblée d'entretenir une relation sexuelle tarifée avec B._, ce que celle-ci aurait fait de son plein gré, sans subir ni violences ni menaces - la Cour d'assises l'a écartée. Elle a notamment relevé que les déclarations de la victime étaient constantes - au contraire de celles de A._ - et que sa version était corroborée par les constations médicales des lésions qu'elle a subies. B. A._ a formé un pourvoi contre cet arrêt devant la Cour de cassation du canton de Genève (ci-après: la Cour de cassation), qui l'a rejeté par arrêt du 29 novembre 2006. La Cour de cassation a déclaré irrecevable le grief de violation du droit d'être entendu, au motif qu'il n'avait pas été soulevé et explicité dans l'écriture de pourvoi. Elle a en outre rejeté les griefs relatifs à l'appréciation des preuves et à la présomption d'innocence, confirmant l'appréciation du jury de la Cour d'assises. B. A._ a formé un pourvoi contre cet arrêt devant la Cour de cassation du canton de Genève (ci-après: la Cour de cassation), qui l'a rejeté par arrêt du 29 novembre 2006. La Cour de cassation a déclaré irrecevable le grief de violation du droit d'être entendu, au motif qu'il n'avait pas été soulevé et explicité dans l'écriture de pourvoi. Elle a en outre rejeté les griefs relatifs à l'appréciation des preuves et à la présomption d'innocence, confirmant l'appréciation du jury de la Cour d'assises. C. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt. Il invoque les art. 29 Cst. et 6 CEDH pour se plaindre d'une violation de son droit d'être entendu. Il se plaint également d'arbitraire dans l'application du droit cantonal de procédure et dans l'appréciation des preuves (art. 9 Cst.) ainsi que d'une violation de la présomption d'innocence (art. 32 al. 1 Cst. et 6 par. 2 CEDH). Il a en outre requis l'assistance judiciaire. Le Procureur général du canton de Genève a conclu au rejet du recours. La Cour de cassation a renoncé à formuler des observations. C. Agissant par la voie du recours de droit public, A._ demande au Tribunal fédéral d'annuler cet arrêt. Il invoque les art. 29 Cst. et 6 CEDH pour se plaindre d'une violation de son droit d'être entendu. Il se plaint également d'arbitraire dans l'application du droit cantonal de procédure et dans l'appréciation des preuves (art. 9 Cst.) ainsi que d'une violation de la présomption d'innocence (art. 32 al. 1 Cst. et 6 par. 2 CEDH). Il a en outre requis l'assistance judiciaire. Le Procureur général du canton de Genève a conclu au rejet du recours. La Cour de cassation a renoncé à formuler des observations. D. Par ordonnance du 27 février 2007, le Président de la Ire Cour de droit public a accordé l'effet suspensif au recours.