我有一个子视图控制器,其视图已添加为父视图的子视图。我想从其左上角将其缩放1.1倍。我尝试这样做:
position
但这似乎使视图重新位于左上角,然后进行缩放。
在这里阅读了一些答案之后,我然后尝试像这样设置视图层的let center = self.view.frame.origin
self.view.layer.anchorPoint = CGPoint(x: 0, y: 0)
self.view.layer.position = center
:
class ProjectsSerializer(serializers.Serializer):
id = serializers.IntegerField(read_only=True)
name = serializers.CharField(required=True, allow_blank=False, max_length=100)
isActive = serializers.BooleanField()
def create(self, validated_data):
return Project.objects.create(**validated_data)
def update(self, instance, validated_data):
instance.id = validated_data.get('id', instance.id)
instance.name = validated_data.get('name', instance.name)
instance.isActive = validated_data.get('isActive', instance.isActive)
return instance
class ProjectsCreateSerializer(ProjectsSerializer):enter code here
class Meta:
fields = ('name')
但是,这会将视图移动到屏幕中央。我如何才能使其从左上角开始缩放而不在父视图中移动?
答案 0 :(得分:0)
您完全正确,并且非常亲密。要更改转换的锚点,您需要更改图层的锚点。但是,这样做时,您需要更改图层的位置以进行补偿,否则图层将移动。
让self.v
是我们要转换的视图:
let lay = self.v.layer
let p = lay.frame.origin
lay.anchorPoint = CGPoint(x: 0, y: 0)
lay.position = p
lay.setAffineTransform(CGAffineTransform(scaleX: 1.1, y: 1.1))