尝试从左上角缩放视图

时间:2019-08-02 13:55:34

标签: ios swift

我有一个子视图控制器,其视图已添加为父视图的子视图。我想从其左上角将其缩放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')

但是,这会将视图移动到屏幕中央。我如何才能使其从左上角开始缩放而不在父视图中移动?

1 个答案:

答案 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))