2012-02-29 97 views
1

我創建了一個iPad應用程序的佈局,將包含xx圖像和按鈕數量(動態確定基於來自Web服務調用的響應),我需要將它們放置在網格式的滾動視圖(水平)... 現在,我知道有很多自定義用戶界面控件可以做類似的事情,但我還沒有找到一個匹配我的'需求'...佈局網格與圖像,標籤,滾動視圖

基本上我想/需要是每個「進入」有一個圖像,疊加圖像,按鈕圖像的大小和圖像的頂部兩個標籤匹配...

那麼是否有人知道一個自定義UI控件可以匹配我想要的嗎?

或者我必須從頭開始寫這個嗎?

我可能只有10個條目,但一直到100+(可能沒有比這個高很多),所以也許有一個更友善的方法,那麼我在下面考慮的方法... - 另一個問題是,我需要重做此視圖出現每次(原因:我需要顯示更新的數據)...

我已經做了一些手動創建網格的初始測試,並且這個至今:

int rows = 3; // fixed, will either be 2 or 3, depending on final size of images... 
int columns = 8;// will be determined by response from web service 

for(int i = 0; i < columns; i++) 
{ 
    for(int j = 0; j < rows; j++) 
    { 
     // Create the buttons to handle button press 
     UIButton *childButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

     childButton.frame = CGRectMake(i * 100 + 10, j * 100 + 20, 100, 30); 

     [childButton setTitle:@"Test" forState:UIControlStateNormal]; 

     [childButton addTarget:self action:@selector(presentPopoverMenu:) forControlEvents:UIControlEventTouchUpInside]; 

     [self.scrollView addSubview:childButton]; 

     // Create the images to display the pictures of the children 


     // Create the labels to display child name 


     // Create the labels to display pick up time 
    } 
} 

回答

0

我建議創建自定義視圖...創建一個從UIView的自定義類,並把它所有的控件。您應該創建initWithCustomData,其中自定義數據是您從Web獲得的數據。一旦你擁有了所有的東西,無論如何你都可以對它們進行分類,就好像它們是一個簡單的控制一樣。 至於更新。如果整個視圖具有固定大小,只需在自定義視圖中創建一些內部方法即可更改子視圖的框架。如果框架是動態的,你基本上可以做同樣的事情,但你必須重新定位所有的自定義視圖(只需使用UIView動畫)。

+0

這就像一個魅力...感謝...! – user969043 2012-03-01 14:59:55