One of the rules in coding should never have duplicate code, so if your views do different things or if the data is processed differently depending on whether it has an iPad or iPhone (for example, different data sources?), Then this must be in different classes, if not .. then no. Use the same class.
One thing that is common and that you could implement in such a case is a kind of helper, a delegate class, if you want, that handles all the common methods and actions that happen in your code.
Golden rule: write as little code as possible! Less code == more maintainable and of higher quality. Therefore, write as little code as possible, but do not affect your requirements. Also, split the code to make it an easier (unitary) test and therefore easier to reuse.
I hope that answered your question.
Update
I know there is terminology for this, just think about it. The presence of duplicate code is called a โDRY violationโ. DRY stands for "Do not Repeat Yourself," which is a software development principle designed to reduce the repetition of all kinds of information, especially useful in multi-level architectures.
More info: DRY on Wikipedia
source share