On the edge of the Yorkshire Dales, Ilkley beat towns in Cornwall and East Sussex to be named the fifth prettiest town in the UK.