There is a simple way to do it
In the properties window of the Table you want to hide, set the permissions for this specific user to DENY control,delete,insert,select and update.
The result of this step is that this user will not see this table in the tables list and he can't select or read data from it.
Now, set the permissions for the View you want allow him to use by selecting grant for select,update etc. but NOT for View Definition
The result of this step is that he may open and read data from this view but he can't see it's definition and he can't read data direct from the table this view based of.
Thank you