The Heisenberg uncertainty principle says that as per QM, it is any of a variety of mathematical inequalities, giving a fundamental limit to the precision with which certain pairs of physical properties of a particle can be known.
In your case, the particle is the photon, and the properties are position and momentum.
Now when the detector detects the photon's position, you can say that at that moment, the position is known. You are asking whether we can know the momentum at that moment too. The Heisenberg uncertainty principle specifically says that we cannot. The moment when the photon's position is known is when the detector shows it.
At that moment, what happens, is that the photon interacted with the detector screen's atom. That atom absorbed the photon, and the photon's energy transformed into the kinetic energy of the absorbing electron, that moved to a higher energy level as per QM.
Now at that moment, when the photon's energy was transformed into the kinetic energy of the absorbing electron, the photon seizes to exist. Its momentum cannot be interpreted anymore. What you know is that in the past, the photon's position, at the moment of absorption, was known.
But you cannot know it's momentum at the same moment. The momentum is a vector quantity, and since the photon seizes to exist in the moment of absorption, there is no momentum to measure anymore.
If you would interpret the position of absorption as the last known position of the photon, then you could try to find out its frequency at that moment (in the past). What you could check, would be the frequency of the photon maybe. To do that, you would need to check whether the absorbing electron moved to a certain energy level from its ground level, check the difference between the two energy levels, and that could be the past frequency of the photon. You could interpret that as the last known frequency of the photon.
But even that (the frequency) would not be momentum. Momentum is a vector quantity, and frequency is not. And even if you could figure out the energy difference of the absorbing electron's levels, that might not be with certainty the frequency of the original photon. There might be multiphoton absorption when a photon is absorbed by multiple electrons, or the electron might relax in multiple steps, and that would make it harder to check the original photon's frequency.
But the Heisenberg uncertainty principle would still work since you cannot know the position and the momentum at the same time.
Now that is for the time of the absorption.
You could say that you would like to find out the position and the momentum of the photon in flight. That is not possible either, because the photon is accepted to propagate as a wave. How would you measure the position of that wave? It is not possible. How would you measure the momentum of that wave? The only way to measure the photon's properties is to interact with it.
Now you could use inelastic scattering to detect a photon. It is very good to learn about the double slit experiment when there is a detector filter on one of the slits. They can use the detector to check whether the photon went through a certain slit. That creates an inelastic scattering, where the photon gets inelastically scattered off the detector's atom. But even then, that detector will not give you a certain position for the photon. And you cannot know it's momentum at all. That is the problem with inelastic scattering, it changes the energy and phase of the photon, and the photon changes angle too (momentum is a vector so with the change of angle the momentum changes too).
Now the only way to measure the position of the photon with certainty is to absorb it. But absorption will seize the photon's existence too, so it's momentum is not interpretable.