Ändern der Größe Ich bin nicht in der Lage, die Subview zu handhaben Ändern der Größe richtig:Autoresize Subviews wenn die Super
Angenommen, ich habe eine benutzerdefinierte UIView Klasse, im Inneren eine UIImageView enthält.
Zunächst stellte ich die UIViews wie die Anhänger up:
// width and height are UIImage width height
// it is possible that the UIImage width height is larger than the container
self.imageView.frame = CGRectMake(0 ,0, width, height)
self.imageView.backgroundColor = UIColor.redColor()
self.imageView.contentMode = UIViewContentMode.ScaleAspectFit
self.imageView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight,.FlexibleTopMargin, .FlexibleLeftMargin, .FlexibleRightMargin, .FlexibleBottomMargin]
addSubview(self.imageView)
self.frame = CGRectMake(0, 0, width, height)
self.backgroundColor = UIColor.greenColor()
die diese Gewohnheit UIView als MyView Lassen nennen.
Und dann, wenn ich diese "myView" in einem ViewController platzieren möchte. Ich tat folgendes:
myView.frame = CGRectMake(xPos, yPos, 100, 100)
myView.autoResizeSubviews = true
Und ich fand, dass, nachdem ich das getan habe, habe ich die folgenden Ergebnisse. MyView place at the correct place with correct size, but the internal UIImageView got even a smaller size.
Warum das passieren? Und wie lassen sich alle Unteransichten in MyView entsprechend dem Rahmen von MyView korrekt skalieren?
Danke.