Table 39-1Size (in pixels) of custom icons and images
Asset iPhone 6 Plus (@3x) iPhone 6 and iPhone 5 (@2x) iPhone 4s (@2x) iPad and iPad mini (@2x) iPad 2 and iPad mini (@1x)
iphone6/6+ 更新: Icon-Small@3x.png 87*87 Icon-40@3x.png 120*120 Icon-60@3x.png 180*180 Icon.png 57*57 Icon@2x.png 114*114 Icon-Small.png 29*29 Icon-Small@2x.png 58*58 Icon-Small-50.png 50*50 Icon-Small-50@2x.png 100*100 Icon-72.png 72*72 Icon-72@2x.png 144*144 Icon-40.png 40*40 Icon-40@2x.png 80*80 Icon-60.png 60*60 Icon-60@2x.png 120*120 Icon-76.png 76*76 Icon-76@2x.png 152*152
LaunchImage For iPhone 6 750 x 1334 (@2x) for portrait 1334 x 750 (@2x) for landscape For iPhone 6 Plus: 1242 x 2208 (@3x) for portrait 2208 x 1242 (@3x) for landscape ---------------------------------------------------------------------
4.0 inch screen: Default-568h@2x.png (old 640x1136 ~ for iPhone 5) 4.0 inch screen: LaunchImage-700-568h@2x.png (new 640x1136 ~ for iPhone 5)
4.7 inch screen: LaunchImage-800-667h@2x.png (750x1334 ~ for iPhone 6)
5.5 inch screen: LaunchImage-800-Portrait-736h@3x.png (1242x2208 ~ for iPhone 6 Plus Portrait) 5.5 inch screen: LaunchImage-800-Landscape-736h@3x.png (2208x1242 ~ for iPhone 6 Plus Landscape)
Retina iPad: Default-Portrait@2x~ipad.png (1536x2048 ~ for Retina iPad Portrait) Retina iPad: Default-Landscape@2x~ipad.png (2048x1536 ~ for Retina iPad Landscape) iPad Mini/iPad: Default-Portrait~ipad.png (768x1024 ~ for iPad Portrait) iPad Mini/iPad: Default-Landscape~ipad.png (1024x768 ~ for iPad Landscape)
适配iphone6/6+启动界面
如果旧的工程直接跑到这两个模拟器中时,默认是"兼容模式",即系统会简单的把内容等比例放大,显示效果有些模糊但尚可接受。此时App内部获取到的设备分辨率和iPhone5是一样的:320*568 point。
启用高分辨率模式有2个方法: 1.添加大屏的LaunchImage: 在Images.xcassets里,删除旧的LaunchImage组,然后新建LaunchImage组,添加对应高分辨率的图片。(参考:http:///blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/)
2.添加Launch Screen File Launch Screen是Xcode6和iOS8新加的功能,它用一个xib文件来作为启动画面。App在旧版iOS(低于ios8)启动时,该属性会被自动忽略,不会造成异常。 首先,点击New File ->iOS User Interface ->Launch Screen,然后在工程设置项里启用它: LaunchFile
上面两处设置,只要启用任意一个即可让App进入高分辨率模式;但如果两处都没有设置,则App会回退到兼容模式。 两处都设定的话在ios8会走Launch Screen File,在低于ios8 走LaunchImage
PS:iPhone4、iPhone5、iPhone6这几个设备的ppi都是相同的,默认图片优先是@2x。iPhone6 Plus的像素密度更高,默认图片优先是@3x。 另外,iPhone6 Plus有一点和其他设备不同:在App内部获得的屏幕分辨率是1242*2208,但设备实际分辨率是1920*1080,这时系统会把整体的显示内容做一个缩放,downscale到1/1.15。
UIPageControl的autoresizingMask
在设置UIPageControl实例的宽度时,显示的好像总是设置的四倍左右,但是把其他组建(UILable等)设置在同一父容器中显示的是正常的。头文件看到UIPageControl的autoresizingMask默认值是UIViewAutoresizingNone,但是感觉没起作用,于是这是下 UIPageControl显示正确了。(apple的bug?)
UIActivityViewController crashing on iPads by sdk8 其老早在 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIActivityViewController_Class/ 中就说了:On iPad, you must present the view controller in a popover. On iPhone and iPod touch, you must present it modally。 在sdk8之前你ipad还是用了presentViewController,那在dismissViewControllerAnimated的时候屏幕会旋转下,可能你还能接受,但是在sdk8便会直接crash,报错:
UIActivityViewController
"LaunchServices: invalidationHandler called" with UIActivityViewController iOS8 In iOS8 when I present or dismiss a UIActivityViewController, my app logs: "LaunchServices: invalidationHandler called"。 参考:https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIPopoverPresentationController_class/index.html https://devforums.apple.com/message/1049415#1049415 http:///questions/25192313/sharing-via-uiactivityviewcontroller-to-twitter-facebook-etc-causing-crash 可能是苹果的issue
ios sdk8/ios8 remoteNotification ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 在苹果UIApplication文件中说明: @interface UIApplication (UIRemoteNotifications) . . .
- (void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types NS_DEPRECATED_IOS(3_0, 8_0, "Please use registerForRemoteNotifications and registerUserNotificationSettings: instead");
// Returns the enabled types, also taking into account any systemwide settings; doesn't relate to connectivity. - (UIRemoteNotificationType)enabledRemoteNotificationTypes NS_DEPRECATED_IOS(3_0, 8_0, "Please use -[UIApplication isRegisteredForRemoteNotifications], or -[UIApplication currentUserNotificationSettings] to retrieve user-enabled remote notification and user notification settings");
@end //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
所以在ios8中应该用的新的注册通知的代码:
原本在IOS7当中 判断push是否打开的方法是:
如果将这段代码使用在 IOS8当中,虽然不会出现crash的现象,但永远返回空。 在IOS8中,我们使用如下的新代码来取代以上的代码:
ios 8 - buttons in horizontal scroll view intercepting pan event - scroll does not work 含有uibutton的ScrollView在iOS8中无法滚动的解决办法:
转载:http://justsee./blog/2123545
|
|