UIView Frame Size Didn't Change UIImageView Pl

2019-05-20 08:39发布

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.

3条回答
趁早两清
2楼-- · 2019-05-20 09:26

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.

查看更多
叼着烟拽天下
3楼-- · 2019-05-20 09:35

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;
查看更多
Lonely孤独者°
4楼-- · 2019-05-20 09:36

Try:

imageView.frame = CGRectMake(0,
                             0,
                             imageObject.frame.size.width, 
                             imageObject.frame.size.height);
imageView.autoresizingMask = UIViewAutoresizingFlexibleHeight | 
                             UIViewAutoresizingFlexibleWidth;
查看更多
登录 后发表回答