I've noticed that there are a lot of UIView subclasses in my legacy project. Mostly the only reason of such a subclass is to split bigger view into custom subviews and provide layout for its subviews and delegation of UIButtons actions through the view delegate protocol. So I'm wondering, is it a correct design?  
What are the reasons to create UIView subclass?
ios;object oriented design;objective c;inheritance;view
A very common reason to create a UIView subclass is so that one can specify a drawRect method to do some Core Graphics drawing into a view.  Another reason might to implement touch delegates, such as if you want to do something within a specific view area too specialized for a gesture recognizer.  Partitioning objects (such as views) into logical groupings, possibly into a hierarchy, is usually considered good coding practice, as it helps isolates the scope of any changes or bugs.