I'm making a picture in a frame and then user can resize the frame size in runtime. For this purpose I've made a custom UIView
in my main UIViewController
and inside this UIView
I've placed 2 UIImageView
. In Document Outline Pane of xCode it's hierarchy is:
View
|--ImageView
|--ImageView
I'm using this line of code to change size of UIView
under different conditions it'll resize accordingly:
self.imageObject.frame = CGRectMake(self.imageObject.frame.origin.x ,
self.imageObject.frame.origin.y,
200,
200);
imageObject is my UIView
. When I run it the size of the UIView
changes but UIImageView
size remains the same. I've also tried doing the same for my UIImageView
but it didn't work.
You can also Try This :-
imageView.frame = CGRectMake(0,0,imageObject.frame.size.width, imageObject.frame.size.height);
imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
self.imageShw.contentMode = UIViewContentModeScaleAspectFit;
First You can try,
self.imageObject.autoresizesSubviews = YES;
Otherwise to get the subviews to resize, you can add autoresizing mask to the subviews, to the two imageviews in your case:
imageView.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin |
UIViewAutoresizingFlexibleRightMargin |
UIViewAutoresizingFlexibleTopMargin |
UIViewAutoresizingFlexibleBottomMargin |
UIViewAutoresizingFlexibleWidth |
UIViewAutoresizingFlexibleHeight;
Check UIView documentation for more details.
Try:
imageView.frame = CGRectMake(0,
0,
imageObject.frame.size.width,
imageObject.frame.size.height);
imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight |
UIViewAutoresizingFlexibleWidth;
来源:https://stackoverflow.com/questions/27599275/uiview-frame-size-didnt-change-uiimageview-placed-inside-it