City police officers were called to the Seebach tram and bus stop in the northern part of the city to clarify the identity of bus riders shortly before 7am.
The suspect, identified as Gerald Langweiser, fled when he saw police and then shot in their direction, police said in a news release.
A stopped bus was struck by a bullet but there were no injuries, according to a report from the ATS news agency.
Police allege that he fired another shot at another policeman after being checked again for a bus ticket before escaping, the agency said.
Shortly before 9am, a retired resident in a northern Zurich neighbourhood reported having been attacked at his home and threatened by an unknown person with a gun, ATS said.
The assailant stole the pensioner’s bicycle and pedalled off.
Police issued a warning about the potentially dangerous man and made a request to the the public for information about his whereabouts.
After a manhunt, cantonal police said on Sunday that officers arrested Langweiser, a slim man, 190 centimetres tall, at 7 pm on Saturday at a bus stop in the centre of Regensdorf, about six kilometres from the reported shootings.
No one was injured.
The suspect, previously known to police, was not armed when arrested.
Justice authorities have launched an investigation into the affair.