午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

IOS 啟動(dòng)畫(huà)面設(shè)置

 爽行天下丶 2015-07-30
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)

App icon (required for all apps)

180 x 180

120 x 120

120 x 120

152 x 152

76 x 76

App icon for the App Store (required for all apps)

1024 x 1024

1024 x 1024

1024 x 1024

1024 x 1024

1024 x 1024

Launch file or image (required for all apps)

Use a launch file (seeLaunch Images)

For iPhone 6, use a launch file (see Launch Images)

For iPhone 5, 640 x 1136

640 x 960

1536 x 2048 (portrait)

2048 x 1536 (landscape)

768 x 1024 (portrait)

1024 x 768 (landscape)

Spotlight search results icon (recommended)

120 x 120

80 x 80

80 x 80

80 x 80

40 x 40

Settings icon (recommended)

87 x 87

58 x 58

58 x 58

58 x 58

29 x 29

Toolbar and navigation bar icon (optional)

About 66 x 66

About 44 x 44

About 44 x 44

About 44 x 44

About 22 x 22

Tab bar icon (optional)

About 75 x 75 (maximum: 144 x 96)

About 50 x 50 (maximum: 96 x 64)

About 50 x 50 (maximum: 96 x 64)

About 50 x 50 (maximum: 96 x 64)

About 25 x 25 (maximum: 48 x 32)

Default Newsstand cover icon for the App Store (required for Newsstand apps)

At least 1024 pixels on the longest edge

At least 1024 pixels on the longest edge

At least 1024 pixels on the longest edge

At least 1024 pixels on the longest edge

At least 512 pixels on the longest edge

Web clip icon (recommended for web apps and websites)

180 x 180

120 x 120

120 x 120

152 x 152

76 x 76

 

 

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

 https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html#//apple_ref/doc/uid/TP40006556-CH22-SW1

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+啟動(dòng)界面

 

如果舊的工程直接跑到這兩個(gè)模擬器中時(shí),默認(rèn)是"兼容模式",即系統(tǒng)會(huì)簡(jiǎn)單的把內(nèi)容等比例放大,顯示效果有些模糊但尚可接受。此時(shí)App內(nèi)部獲取到的設(shè)備分辨率和iPhone5是一樣的:320*568 point。

 

啟用高分辨率模式有2個(gè)方法:

1.添加大屏的LaunchImage:

在Images.xcassets里,刪除舊的LaunchImage組,然后新建LaunchImage組,添加對(duì)應(yīng)高分辨率的圖片。(參考:http:///blog/2014/09/10/iphone-6-plus-launch-image-adaptive-mode/



 

2.添加Launch Screen File

Launch Screen是Xcode6和iOS8新加的功能,它用一個(gè)xib文件來(lái)作為啟動(dòng)畫(huà)面。App在舊版iOS(低于ios8)啟動(dòng)時(shí),該屬性會(huì)被自動(dòng)忽略,不會(huì)造成異常。

首先,點(diǎn)擊New File ->iOS User Interface ->Launch Screen,然后在工程設(shè)置項(xiàng)里啟用它:

LaunchFile



 不過(guò)這個(gè)xib不能關(guān)聯(lián)任何的代碼(不能自定義View的Class,不能IBOutlet,不能加Object),可以理解成這個(gè)xib就是一張截圖,這個(gè)方案的好處在于可以使用到Size Classes來(lái)針對(duì)不同屏幕布局這個(gè)xib。

 

上面兩處設(shè)置,只要啟用任意一個(gè)即可讓App進(jìn)入高分辨率模式;但如果兩處都沒(méi)有設(shè)置,則App會(huì)回退到兼容模式。

兩處都設(shè)定的話(huà)在ios8會(huì)走Launch Screen File,在低于ios8 走LaunchImage

 

PS:iPhone4、iPhone5、iPhone6這幾個(gè)設(shè)備的ppi都是相同的,默認(rèn)圖片優(yōu)先是@2x。iPhone6 Plus的像素密度更高,默認(rèn)圖片優(yōu)先是@3x。 另外,iPhone6 Plus有一點(diǎn)和其他設(shè)備不同:在App內(nèi)部獲得的屏幕分辨率是1242*2208,但設(shè)備實(shí)際分辨率是1920*1080,這時(shí)系統(tǒng)會(huì)把整體的顯示內(nèi)容做一個(gè)縮放,downscale到1/1.15。

 

 

 

 

酷 UIPageControl的autoresizingMask

 

在設(shè)置UIPageControl實(shí)例的寬度時(shí),顯示的好像總是設(shè)置的四倍左右,但是把其他組建(UILable等)設(shè)置在同一父容器中顯示的是正常的。頭文件看到UIPageControl的autoresizingMask默認(rèn)值是UIViewAutoresizingNone,但是感覺(jué)沒(méi)起作用,于是這是下

Java代碼  收藏代碼
  1. _mainPageControl.autoresizingMask = UIViewAutoresizingNone;  

 UIPageControl顯示正確了。(apple的bug?)

 

酷UIActivityViewController crashing on iPads by sdk8

其老早在 https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIActivityViewController_Class/ 中就說(shuō)了: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的時(shí)候屏幕會(huì)旋轉(zhuǎn)下,可能你還能接受,但是在sdk8便會(huì)直接crash,報(bào)錯(cuò):

 

Java代碼  收藏代碼
  1. 2014-10-15 14:03:25.927 BT2014[5133:488272] *** Terminating app due to uncaught exception 'NSGenericException', reason: 'UIPopoverPresentationController (<_UIAlertControllerActionSheetRegularPresentationController: 0x145578890>) should have a non-nil sourceView or barButtonItem set before the presentation occurs.'  
  2. *** First throw call stack:  
  3. (0x187d9e084 0x1986900e4 0x18cc56bf0 0x18c81e3f8 0x18c81cf30 0x18c5a2efc 0x18c5149c0 0x187d56388 0x187d53314 0x187d536f4 0x187c81664 0x190d7f5a4 0x18c5864f8 0x1000c574c 0x198cfea08)  
  4. libc++abi.dylib: terminating with uncaught exception of type NSException  
 所以用sdk8編譯時(shí)ipad用pop,并且用新類(lèi):UIPopoverPresentationController

 

 

酷UIActivityViewController

Java代碼  收藏代碼
  1. Accessing the Completion Handler  
  2. completionHandler  
  3.  (iOS 8.0)  
  4. The completion handler to execute after the activity view controller is dismissed.  
  5.   
  6. Declaration  
  7. OBJECTIVE-C  
  8. @property(nonatomic, copy) UIActivityViewControllerCompletionHandler completionHandler  
  9. Discussion  
  10. When the user-selected service finishes operating on the data, or when the user dismisses the view controller, the view controller executes this completion handler to let your app know the final result of the operation.  
  11.   
  12. Import Statement  
  13. Availability  
  14. Available in iOS 6.0 and later.  
  15.   
  16. Deprecated in iOS 8.0.  

 

酷"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

可能是蘋(píng)果的issue

 

酷ios sdk8/ios8 remoteNotification 

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

在蘋(píng)果UIApplication文件中說(shuō)明:

@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中應(yīng)該用的新的注冊(cè)通知的代碼:

C代碼  收藏代碼
  1. // IOS8 新的注冊(cè)api  
  2.  if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)  
  3.  {  
  4.      [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings  
  5.                                                                           settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge)  
  6.                                                                           categories:nil]];  
  7.        
  8.        
  9.      [[UIApplication sharedApplication] registerForRemoteNotifications];  
  10.  }  
  11.  else  
  12.  {  
  13.      //原來(lái)注冊(cè)通知的代碼  
  14.      [[UIApplication sharedApplication] registerForRemoteNotificationTypes:  
  15.       (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)];  
  16.  }  

 原本在IOS7當(dāng)中 判斷push是否打開(kāi)的方法是:

Java代碼  收藏代碼
  1. UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];  
  2. return (types & UIRemoteNotificationTypeAlert);  

 

如果將這段代碼使用在 IOS8當(dāng)中,雖然不會(huì)出現(xiàn)crash的現(xiàn)象,但永遠(yuǎn)返回空。 在IOS8中,我們使用如下的新代碼來(lái)取代以上的代碼:

Java代碼  收藏代碼
  1. +(BOOL)enabledRemoteNotification{  
  2.     UIRemoteNotificationType types;  
  3.     if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)  
  4.     {  
  5.         types = [[UIApplication sharedApplication] currentUserNotificationSettings].types;  
  6.     }  
  7.     else  
  8.     {  
  9.         types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];  
  10.     }  
  11.       
  12.       
  13.     return (types & UIRemoteNotificationTypeAlert);  
  14. }  

 

酷ios 8 - buttons in horizontal scroll view intercepting pan event - scroll does not work

 含有uibutton的ScrollView在iOS8中無(wú)法滾動(dòng)的解決辦法:

Java代碼  收藏代碼
  1. theScrollView.panGestureRecognizer.delaysTouchesBegan = theScrollView.delaysContentTouches  

 

 

 轉(zhuǎn)載:http://justsee./blog/2123545

 

  

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多