在IOS开发过程中遇到的问题,记录下来以便日后查找
1、如何判断设备是iPhone还是iPad?
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
{
// iPhone
}
else
{
// iPad
}
2、UIImagePickerController返回的图片是颠倒的?
UIImagePickerController返回的照片带有方向信息,如当手机竖直拍照时,就可能造成旋转了90°的情况。而且如果直接取其图像数据,或者将图像保存到本地的话,就会丢失这个方向信息,导致下一次读取出来图片就是颠倒的。
解决方法:
if(image.imageOrientation != UIImageOrientationUp){
UIGraphicsBeginImageContext(image.size);
[image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
3、Local declaration of 'XXX' hides instance variable 的原因?
遇到这种原因,是因为本地变量跟函数参数变量同名。看来,还是要注意变量的命名啊!
4、Xcode10,控件区域挪到上面去了!
最近把Xcode升级到了10,处于使用惯性,去右下角找控件区,找不到了,以为窗口隐藏了,去菜单栏里面寻找显示的菜单,没找到,居然被折腾了一番,最后找到这货在右上角的工具栏里面最左边的类似于铜钱的标志?,如图:
5、UIView animation 的简单用法和参数介绍
[UIView animateWithDuration: 0.5 delay: 0.5 options: UIViewAnimationOptionCurveEaseInOut animations: ^{
} completion: ^(BOOL finished) {
}];
duration: 动画时长
delay: 动画在延迟多久之后执行
options: 动画的表现形式,如下几个:
UIViewAnimationOptionCurveEaseInOut //先加速后减速,默认值
UIViewAnimationOptionCurveEaseIn //由慢到快
UIViewAnimationOptionCurveEaseOut //由快到慢
UIViewAnimationOptionCurveLinear //匀速
animations:动画的执行模块
completion:动画结束后执行的代码块