Customizing UIAlertView
I think your best bet is to forget customizing UIAlert view and build a custom view yourself.
For one, what you're showing really isn't an "alert" so it's counter to what UIAlertView is designed to be for. This means that you're changing the UI paradigm on the user which is never a good idea.
Second, it would be much easier to animate a custom view into place than to try and hack UIAlertView to get it to do what you want.
First you need to make the alert box bigger to accomodate your controls, yet it has to be placed at the center.
For this, instead of setting the frame size, your the message text with "\n"s as necc. e.g.:
alert = [[UIAlertView alloc] initWithTitle:@"Rate this picture."
message:@"Tap a star to rate.\n\n\n\n " /*------ look at here!!----*/
delegate:self
cancelButtonTitle:nil
otherButtonTitles:nil];
Then use a UIAlertViewDelegate for the alertview.
override its, viewWillAppear: add your buttons and set their frames manually at desired position.
OR: create a entire view with a view controller, and add the view to the alert box like:
[myalertview addSubvew:mycomplexalert];
Hope this will come into your help :)
I am using alert boxes for rating input with star images,twitter,fb feedback etc.
UPDATE iOS7:
For iOS 7, create your own view with components and set it as the alertview's accessory view:
[alert setValue:imageView forKey:@"accessoryView"];
Its thats simple :-)