2014-03-31 61 views
0

如何在按鈕或框架上創建(Windows8像)活動瓷磚效果? 我想顯示隨機在按鈕中更改的文本。淡入淡出效果會很好。在iOS上創建活動瓷磚效果

+3

你到底知道了什麼? –

+0

這對我來說是一個新想法。我找不到任何組件。 – Oktay

+1

UICollectionView是你需要的...... – CW0007007

回答

2

這個問題的答案很難,因爲這是基本的iOS知識,並且存在多種解決方案。

我會做來解決這個問題是什麼:

  1. 創建自定義一個UICollectionViewCell子類,將代表一個區域。

    @interface UITileView : UICollectionViewCell 
    
    @property (nonatomic, weak) id<UITileViewDataSource> dataSource; 
    
    - (void)reloadTile; 
    
    @end 
    
  2. 創建1代表特定的瓷磚創造的UICollectionViewCell類的子類。

  3. 創建一個UICollectionView,這將顯示那些UICollectionViewCell的。
  4. 創建委託/數據源架構,以提供包含數據或特定子視圖的圖塊。

    @protocol UITileViewDataSource 
    
    - (UIImage *)tileView imageForIndexPath:(NSIndexPath *)indexPath; 
    - (NSString *)tileView tileStringForIndexPath:(NSIndexPath *)indexPath; 
    
    @end 
    
  5. 動畫與UIViewanimateWithDuration:方法(在alpha屬性淡入和淡出)的瓦片。

    // Fade in 
    mySpecificTile.alpha = 0.0f; 
    
    [UIView animateWithDuration:0.3 animations:^ 
    { 
        mySpecificTile.alpha = 1.0f; 
    } 
    

這可能是最快和最簡單的解決方案。當然,您可以創建更好的可擴展解決方案。只要確保瓷磚不擁有這些數據並詢問數據源即可。

這只是一個概念,應作爲如何進行的指導。

更多信息請閱讀以下鏈接上UICollectionView

這裏所有寫代碼ARC而已!

+0

感謝您描述步驟。我會嘗試一些。 – Oktay

+0

創建UICollectionViewCell子類不會讓您的解決方案更有意義嗎? :) – Tim

+1

是的,它正在編輯解決方案。 :) – Legoless