Solutions of shear-thinning polymers are known to decrease in viscosity as a shear force is applied to the solution. In this work, the inventors show that by pre-shearing a shear-thinning polymer solution mixed with a precursor solution of a semiconducting crystal we can tune the size and morphology of the growing crystals, which governs the optoelectronic properties of the formed crystals. By pre-shearing the solution we are able to lower the viscosity of the solution, which plays a key role in the liquid phase processing (eg., coating processes). By forming a thinner, low-viscosity coating, we are able to tune the nucleation and growth rate of the crystals to form crystals that are smaller and more uniformly distributed in size, leading to a uniform and conformal coating. This approach allows us to coat a uniform layer of semiconducting crystals, which is necessary for developing functional optoelectronic devices.