iOS6中Apple繼續擴展了一些控件的可定義性。對於不是特別追求UI的開發團隊或者實力有限的我的開發者來講這會是一個不錯的消息,使用現有的資源和新加的API,能夠快速開發出界面還不錯的應用。 html
+ (BOOL)wantsDefaultContentAppearance;返回NO的話,將以新的立體方式顯示popover。
具體關於UIPopoverBackgroundView的用法,能夠參考文檔 ios
@property (nonatomic,retain) UIColor *tintColor;這個屬性定義顏色。
- (void)setBackgroundImage:(UIImage*)image forState:(UIControlState)state;
- (void)setDividerImage:(UIImage*)image forLeftSegmentState:(UIControlState)left rightSegmentState:(UIControlState)right; git
- (void)setIncrementImage:(UIImage *)image forState:(UIControlState)state; github
- (void)setDecrementImage:(UIImage *)image forState:(UIControlState)state; 能夠定義背景圖片、分隔圖片和增減按鈕的圖片,都很簡單明瞭,彷佛沒什麼好說的。 安全
@property (nonatomic, retain) UIColor *tintColor;
@property (nonatomic, retain) UIColor *thumbTintColor; session
@property (nonatomic, retain) UIImage *onImage; app
@property (nonatomic, retain) UIImage *offImage; 其中thumbTintColor指的是開關的圓形滑鈕的顏色。另外對於on和off時候能夠自定義圖片,那麼很大程度上其實開關控件已經能夠徹底自定義,基本再也不須要本身再去實現一次了.. ide
@property (nonatomic,retain) UIImage *shadowImage;這個不太清楚,沒有本身實際試過。之後有機會作個小demo看看能夠…
- (void)setBackgroundImage:(UIImage *)bgImage forState:(UIControlState)state style:(UIBarButtonItemStyle)style barMetrics:(UIBarMetrics)barMetrics;這個很是有用…之前在自定義UINavigationBar的時候,對於BarButtonItem的背景圖片的處理很是複雜,一般須要和designer進行不少配合,以保證對於不一樣寬度的按鈕背景圖均可以匹配。如今直接提供一個UIImage就OK了..初步目測是用resizableImageWithCapInsets:作的實現..很贊,能夠偷很多懶~
+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale;
- (id)initWithData:(NSData *)data scale:(CGFloat)scale; 學習
+ (UIImage *)imageWithCIImage:(CIImage *)ciImage
scale:(CGFloat)scale
orientation:(UIImageOrientation)orientation; 編碼
- (id)initWithCIImage:(CIImage *)ciImage
scale:(CGFloat)scale
orientation:(UIImageOrientation)orientation; 指定scale=2以後便可對retina屏幕適配,相對來講仍是比較簡單的。
- (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier;將一個類註冊爲某個重用ID。
- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath;將指定indexPath的cell重用(若不能重用則返回nil,在StoryBoard會自動生成一個新的cell)。
另外,對UITableView的Header、Footer和Section分隔添加了一系列的property以幫助自定義,而且加入了關於Header和Footer的delegate方法。能夠說對於TableView的控制更強大了…
相對與如今已有的開源下拉刷新來講,功能上還不那麼強大,可自定義的內容很少,並且須要iOS6之後的系統,所以短時間內還難以造成主流。可是相比開源代碼,減去了拖源碼加庫之類的麻煩,而且和系統整合很好,再加上Apple的維護,相信將來是有機會成爲主流的。如今來講的話,也就只是一種實現的選擇而已。
而UICollectionView能夠說是很是強大..強大到基本和UITableView同樣了..至少使用起來和UITableView同樣,用慣了UITableView的童鞋甚至能夠不用看文檔就能上手。同樣的DataSource和Delegate,不一樣之處在於多了一個Layout對象對其進行排列的設定,這個稍後再講。咱們先來看Datasource和Delegate的API
//DataSource
-numberOfSectionsInCollectionView:
-collectionView:numberOfItemsInSection:
-collectionView:cellForItemAtIndexPath:
//Delegate
-collectionView:shouldHighlightItemAtIndexPath:
-collectionView:shouldSelectItemAtIndexPath:
-collectionView:didSelectItemAtIndexPath: 沒什麼值得說的,除了名字之外,和UITableView的DataSource和Delegate沒有任何不一樣。值得一提的是對應的UICollectionViewCell和UITableViewCell略有不一樣,UICollectionViewCell沒有所謂的默認style,cell的子view自下而上有Background View、Selected Background View和一個Content View。開發者將自定義內容扔到Content View裏便可。
須要認真看看的是Layout對象,它控制了整個UICollectionView中每一個Section甚至Section中的每一個cell的位置和關係。Apple提供了幾種不錯的Layout,足以取代如今經常使用的幾個開源庫,其中包括了像Linkedin和Pinterest的視圖。能夠說Apple對於利用AppStore這個平臺,向第三方開發者進行學習的能力是超強的。
關於UICollectionView,在以後有兩個session專門進行了討論,我應該也會着重看一看相關內容,以後再進行補充了~
因而Apple此次作了一個驚人的決定,直接在iOS6裏把viewWillUnload和viewDidUnload標註爲了Deprecated,而且再也不再會調用他們。絕大部分開發者實際上是對iOS3.0以來就伴隨咱們的viewDidUnload是有深深的感情的,可是如今須要和這個方法說再見了。對於使用iOS6 SDK的app來講不該該再去實現這兩個方法,而以前在這兩個方法中所作的工做須要從新考慮其更合適的位置:好比在viewWillDisappear中去移除observer,在dealloc中將outlet置爲nil等。
@property (nonatomic, copy) NSString *restorationIdentifier;經過在用戶點擊Home鍵時的一系列delegate裏對現有的view進行編碼存儲後,在下一次打開文件時進行解碼恢復。更多的詳細內容以後也會有session進行詳細說明,待更新。