判断App版本号/iOS系统版本号/4gWiFi环境
判断当前设备类型:
//判断当前设备的类型改变左右两边约束的距离
if([UIDevice currentDevice].userInterfaceIdiom ==UIUserInterfaceIdiomPhone){
self.leftConstraint.constant =10;
self.rightConstraint.constant =10;
}
判断是否是横屏:
1.if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation)){}
2.//将要旋转到某个方向的时候调用此方法(iOS8之前)
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
//Landscape : 横屏 Portrait: 竖屏
// 传入一个方向值,如果是横屏,则返回YES
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
NSLog(@"横屏");
}
// 传入一个方向值,如果是竖屏,则返回YES
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
NSLog(@"竖屏");
}
}
3.#pragma mark iOS8以后的方法
// 如果实现了iOS8以后的方法,则旧版方法会覆盖
//视图发生了大小改变的时候会调用此方法 大小改变 ==横竖切换
- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
{
NSLog(@"size; %@",NSStringFromCGSize(size));
// 建议如果背景色不一致的情况下,做动画同步的处理,否则视觉上很不舒服
//动画同步 -->系统默认0.25而选择是0.4
[UIViewanimateWithDuration:[coordinatortransitionDuration]animations:^{
//方法一:
if (size.width ==HMScreenMaxWidth1024) {
NSLog(@"横屏");
self.dockView.width =HMDockMaxWidth;
self.dockView.height =HMScreenMinWidth768;
} else {
NSLog(@"竖屏");
self.dockView.width =HMDockMinWidth;
self.dockView.height =HMScreenMaxWidth1024;
}
}];
//方法二
// if (size.width > size.height) {
// NSLog(@"横屏");
// }
//方法三 orientation:方向
// if ([UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeLeft || [UIDevice currentDevice].orientation == UIDeviceOrientationLandscapeRight) {
// NSLog(@"横屏");
// }
}
#pragma mark 设置屏幕支持的方向
//iOS9 返回值发生了改变这里必须要找带Mask的值
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
{
returnUIInterfaceOrientationMaskLandscape;
}