You can't set individual frame parameters directly. You must create a new CGRect and set the frame to that CGRect. There are different ways to change the parameters of a CGRect once you have created it.
CGRect myNewFrame = someView.frame;
myNewFrame.origin.x = 1.0;
myNewFrame.size = CGSizeMake(100.0f, 50.0f);
someView.frame = myNewFrame;
The idea is to set the CGRect how you want it and then set the view's frame property to that CGRect, then your good.
As far as the UIView...
You may have a few problems. First, as said above the drawAtPoint method is expensive. Second, and maybe worse, you have several transparent images. Transparency is one of the most expensive operations on the iPhone, in fact, there is a test in Instruments just for that. You should avoid transparency at all costs. A few transparent PNGs with a redraw all during rotation will most likely give you app hiccups.
My next advice would be to consider if you need the View in the middle of the transparencies, maybe another layer could do the job. if you need touch functionality, you can use the view at the root of the layer hierarchy to handle touches. In other words from back to front you have this:
UIView
CALayer
UIView
CALayer
CALayer
but you could just have this:
UIView (now handle all touches)
CALayer
CALayer (previously a view)
CALayer
CALayer
This will also help as CALayers have less overhead than UIViews.
Hope this helps.