日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

IOS7 开发注意事项

發布時間:2025/4/9 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 IOS7 开发注意事项 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,修改狀態欄的樣式和隱藏。

首先,需要在Info.plist配置文件中,增加鍵:UIViewControllerBasedStatusBarAppearance,并設置為YES;

然后,在UIViewController子類中實現以下兩個方法:

- (UIStatusBarStyle)preferredStatusBarStyle {return UIStatusBarStyleLightContent; }- (BOOL)prefersStatusBarHidden {return NO; } 最后,在需要刷新狀態欄樣式的時候,調用[self setNeedsStatusBarAppearanceUpdate]方法即可刷新注意: [self setNeedsStatusBarAppearanceUpdate]在push 或者 present 的controller里面調用才起作用。

2,UITableViewCell的定制。

以前可以直接繼承UITableViewCell然后drawRect;

現在不行了,現在的UITableViewCell包含了一個scrollView,你重繪了UITableViewCell將會被這個scrollView遮住而完全沒法顯示.

解決思路:

- (UITableViewCell?*)tableView:(UITableView?*)tableView cellForRowAtIndexPath:(NSIndexPath?*)indexPath

{

UITableViewCell?* cell = [[[UITableViewCellalloc]?initWithStyle:UITableViewCellStyleDefaultreuseIdentifier:nil]?autorelease];

UIView?* subview = [[[XXView?alloc]?init]?autorelease];

subview.userInteractionEnabled?=?NO;//?不設為NO會屏蔽cell的點擊事件

subview.backgroundColor?= [UIColorclearColor];//?設為透明從而使得cell.backgroundColor有效.

subview.autoresizingMask?=?UIViewAutoresizingFlexibleWidth?|?UIViewAutoresizingFlexibleHeight;

[cell.contentView?addSubview:subview];// cell.contentView是個readonly屬性,所以別想著替換contentView了.

return?cell;

}

3,用戶界面設計中,新增了一個重要的概念:UIKit動力

默認支持如下5種動力行為:吸附行為(UIAttachmentBehavior),碰撞行為(UICollisionBehavior),重力行為(UIGravityBehavior),推動行為(UIPushBehavior),捕捉行為(UISnapBehavior;

4,將TextKit整合到所有基于文本的控件中(Text Kit可以對程序中的文本內容進行精致的排版)。

5,多任務

iOS7中,應用程序的后臺執行模型,新增了如下兩種類型:

1.fetch:

應用程序可以從網絡中有規律的下載新數據;

注冊方法為:在程序的Info.plist中,將UIBackgroundModes鍵值設置為fetch,然后在app delegate中,使用方法setMinimumBackgroundFetchInterval:來設置下載新數據操作之間的最小時間間隔。另外,必須在app delegate中實現application:performFetchWithCompletionHandler:方法以執行任意的下載。

2.remote-notifaction:

在iOS7中,通過推送通知,可以啟動一個后臺下載操作任務。

要使用這種模型,只需要將程序Info.plist文件中的UIBackgroundModes鍵值設置為remote-notification,然后在app delegate中實現application:didReceiveRemoteNotification:fetchCompletionHandler: 方法。

6,UIView類增加屬性tintColor:可以使用一個tint color,并對view和它的subview有影響。

7,UIViewController增加:?View controller之間的切換(transition)可以自定義、驅動式交互(driven interactively),或者完全根據自己指定的切換方式來替換。

8,UIView和UIScreen提供了一個新的方法:snapshot——返回一個view,可以用來顯示程序的內容。?

9,UIFontDescriptor對象使用一個屬性字典來描述字體。通過font descriptor可以與其它平臺相互交互。UIFont和UIFontDescriptor類支持動態調整字體大小。

10,UIApplicationDelegate協議新增了處理后臺獲取數據的操作。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0);?

- (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler NS_AVAILABLE_IOS(7_0);?

- (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)())completionHandler NS_AVAILABLE_IOS(7_0);

11,Table view支持對row或其他元素高度的評估(estimating),這樣可以提升Table view的滾動性能。

12,?Media Player Framework

? ?? ?在Media Player framework中,MPVolumeView類可以判斷用戶選擇的無線路由(wireless route,例如AirPlay和Bluetooth)是否可用。你也可以判斷無線路由當前是否可用。關于新接口信息,請參看framework的頭文件。關于Media Player framework涉及到的類,請參看Media Player Framework Reference。

13,?AV Foundation Framework

?AVAudioSession支持一些新的行為:可以選擇音頻輸入的首選項,包括來自內置麥克風的音頻;支持多通道的輸入和輸出

轉載于:https://www.cnblogs.com/yswdarren/p/3605292.html

總結

以上是生活随笔為你收集整理的IOS7 开发注意事项的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。