Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.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
Ios 从self.view.subview移动所有UIView_Ios_Iphone_Objective C_Uiview - Fatal编程技术网

Ios 从self.view.subview移动所有UIView

Ios 从self.view.subview移动所有UIView,ios,iphone,objective-c,uiview,Ios,Iphone,Objective C,Uiview,我需要将所有self.view.subview移到容器的中心,并获得对iPhone 4的支持,我有这段代码,但无法工作 #define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) if (IS_IPHONE_5) { NSLog(@"iphone 5"

我需要将所有self.view.subview移到容器的中心,并获得对iPhone 4的支持,我有这段代码,但无法工作

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON )

    if (IS_IPHONE_5) {
        
        NSLog(@"iphone 5");
    }else{
    
        NSLog(@"iphone 4");
        
        for (UIView *views in self.view.subviews) {
            
            CGRect frame = views.frame;
            frame.origin.x = 0; // new x coordinate
            frame.origin.y = 0; // new y coordinate
            views.frame = frame;
 
            
        }
    }

#定义为"IPHONE"5(晶圆((双)[[UIScreen mainScreen]边界].size.height-(双)568)
如何使每个对象的参照在容器中垂直居中?

iPhone 5中的功能完美


如果我理解正确,您需要调整每个子视图的起始x坐标,使其在屏幕上垂直居中。为此,你需要运用一些数学知识

for (UIView *subview in self.view.subviews) {
    CGRect frame = subview.frame;
    frame.origin.x = (screenWidth-frame.size.width)/2; // new x coordinate
    subview.frame = frame;
}
在这里,
screenWidth
可以通过编程方式获取。y坐标可以根据预期的外观进行调整,在子视图之间保持适当的垂直间隙


另外,我觉得您不必对iPhone 5和iPhone单独处理此问题如果我理解正确,您需要调整每个子视图的起始x坐标,使其在屏幕上垂直居中。为此,你需要运用一些数学知识

for (UIView *subview in self.view.subviews) {
    CGRect frame = subview.frame;
    frame.origin.x = (screenWidth-frame.size.width)/2; // new x coordinate
    subview.frame = frame;
}
在这里,
screenWidth
可以通过编程方式获取。y坐标可以根据预期的外观进行调整,在子视图之间保持适当的垂直间隙


另外,我觉得您不必对iPhone 5和iPhone单独处理此问题如果我理解正确,您需要调整每个子视图的起始x坐标,使其在屏幕上垂直居中。为此,你需要运用一些数学知识

for (UIView *subview in self.view.subviews) {
    CGRect frame = subview.frame;
    frame.origin.x = (screenWidth-frame.size.width)/2; // new x coordinate
    subview.frame = frame;
}
在这里,
screenWidth
可以通过编程方式获取。y坐标可以根据预期的外观进行调整,在子视图之间保持适当的垂直间隙


另外,我觉得您不必对iPhone 5和iPhone单独处理此问题如果我理解正确,您需要调整每个子视图的起始x坐标,使其在屏幕上垂直居中。为此,你需要运用一些数学知识

for (UIView *subview in self.view.subviews) {
    CGRect frame = subview.frame;
    frame.origin.x = (screenWidth-frame.size.width)/2; // new x coordinate
    subview.frame = frame;
}
在这里,
screenWidth
可以通过编程方式获取。y坐标可以根据预期的外观进行调整,在子视图之间保持适当的垂直间隙

另外,我觉得你不必为iPhone 5和iPhone单独处理这个问题