Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何使用手势调整滚动视图中的子视图大小_Iphone_Ios_Cocoa Touch_Cocoa_Uigesturerecognizer - Fatal编程技术网

Iphone 如何使用手势调整滚动视图中的子视图大小

Iphone 如何使用手势调整滚动视图中的子视图大小,iphone,ios,cocoa-touch,cocoa,uigesturerecognizer,Iphone,Ios,Cocoa Touch,Cocoa,Uigesturerecognizer,我想知道如何在ScrollView中使用手势调整子视图的大小,特别是收缩手势。我不想缩放我的意思是,我不需要放大/缩小它的内容,但我需要调整视图框架的大小。有人能帮我吗?将按压手势识别器添加到主视图: UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@sele

我想知道如何在ScrollView中使用手势调整子视图的大小,特别是收缩手势。我不想缩放我的意思是,我不需要放大/缩小它的内容,但我需要调整视图框架的大小。有人能帮我吗?

将按压手势识别器添加到主视图:

UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc]
                                          initWithTarget:self action:@selector(handlePinchGesture:)];
pinchGesture.delegate = self;
[mainView addGestureRecognizer:pinchGesture];
[pinchGesture release];
然后对挤压做出反应:

- (IBAction)handlePinchGesture:(UIPinchGestureRecognizer *)sender {

    switch (sender.state) {
        case UIGestureRecognizerStateBegan:
            if([sender scale] < 1){
                NSArray *subViews = [mainView subviews];
                for( UIView *view in subViews){
                     //Adjust the size of your subview however you like
                     CGRect newFrame = CGRectMake(x,x,x,x);
                     view.frame = newFrame;
                }
            }else if([sender scale] > 1){ 
                //resize frame (zoom in)

            } 

            break;

        default:
            break;
    }
}

如果您的主视图的@PropertyOnAtomic BOOL AutoResizesSubView选项设置为“是”,则只需调整主视图框架的大小,否则您将必须遍历所有主视图子视图并相应调整其大小

实际上,我需要的是只调整子视图的大小,而不是调整主视图的大小。而且,我不想缩放任何东西,只想调整大小。但我只是不知道如何使用手势调整大小。我为您提供了一种对挤压手势做出反应和了解挤压程度的一般方法。用它做什么是你的选择。你可以很容易地操纵子视图框架。你能举一个例子说明如何做这个plz吗?我在手势和动画方面都很在行。Sry。只是编辑了一下代码。你可以用子视图做任何你想做的事情,但这一切都取决于你的子视图结构等等…最后一个小问题。当我制作新帧时,我希望它与收缩姿势成比例,类似于缩放时。我应该如何在CGRectMake中传递参数以实现这一点?顺便说一句,我给你检查这个答案,但我想知道最后一部分plz=/