次のように私は、UIImageView
とUILabel
が含まれているコンテナUIView
を持っている:サブビューを非「変換可能」に設定していますか?
let containerView = UIView()
containerView.clipToBounds = true
let imageView = UIImageView(frame: containerView.bounds)
imageView.image = UIImage(named: "Some Image")
containerView.addSubview(imageView)
let labelView = UILabel(frame: containerView.bounds)
labelView.text = "Some Label"
containerView.addSubview(label)
私は今containerView
のx軸を伸ばすが、形質転換されていないラベルを保つ、すなわちちょうどcontainerView
を伸ばすとしたいですimageView
。私は現時点では:
containerView.transform = CGAffineTransformMakeScale(2, 1)
しかし、これはまた、label
を伸ばしています。ラベルを「変換不可能」にするためのソリューション?
ありがとう:それとも、これは少しハックでは、ラベルにコンテナ変換の逆を与えることを試みることができます。ハックは機能しますが、アニメーションに含めるときは機能しません。奇妙なズームイン/アウトダンスです。コンテナからラベルを削除し、その位置に戻すためにラベルを追加するにはどうすればよいですか?私は 'labelView.removeFromSuperview()'と 'view.addSubview(labelView)'を試しましたが、ビューを元に戻しますが、変換はまだそれに適用されます... – Alex
あなたはコンテナのコンテナを見つける必要があります。そこにビューを追加してください( 'container.superview.addSubview(labelView)')。自動レイアウトを使用している場合は、他の含まれている要素の兄弟ではないという事実を処理するために制約を更新する必要があります(これは難しいかもしれません)。手作業でレイアウトを計算している場合は、それが正しくなるまで手作業で行うことができます。 –