Because objects are reference types, not value types, if you set a UIView equal to another UIView, the views are the same object. If you modify one
You can't arbitrarily copy an object. Only objects that implement the NSCopying protocol can be copied.
However, there is a workaround: Since UIViews can be serialized to disk (e.g. to load from a XIB), you could use NSKeyedArchiver and NSKeyedUnarchiver to create a serialized NSData describing your view, then de-serialize that again to get an independent but identical object.