0
我發現這很難放上標題,所以請隨時修改它。條件語句+ UITableView:在數組中反覆重複值
我有一個數組,其中包含我在cellForRowAtIndexPath
中使用的5 CGSizes
。
NSArray *mElements = [NSArray arrayWithObjects:[NSValue valueWithCGSize:
CGSizeMake(600.0, 900.0)],
[NSValue valueWithCGSize:CGSizeMake(300.0, 800.0)],
[NSValue valueWithCGSize:CGSizeMake(546.0, 1032.0)],
[NSValue valueWithCGSize:CGSizeMake(300.0, 700.0)],
[NSValue valueWithCGSize:CGSizeMake(300.0, 800.0)],
nil];
我目前從數組中取出一個隨機大小並應用到每個單元格,給它一個交錯的佈局。但問題是,如果我重新加載UITableView
所有的行將有不同的大小,這是顯而易見的,因爲它會每次選擇一個隨機值。
int random = arc4random_uniform((uint32_t) mElements.count);
CGSize size =[[mElements objectAtIndex:random] CGSizeValue];
但是我想要的效果是row
0將始終具有相同的尺寸,該陣列的可能是指數0。然後row
1在索引1處具有值,然後在索引2處具有值2,依此類推。然後,我想索引4處的row
在數組的索引0處具有值(因此數組再次啓動)。我試過這個,但它需要太多的硬編碼。
if (indexPath.item%2 && !indexPath.item%4) {
size =[[mElements objectAtIndex:1] CGSizeValue];
}
else if(indexPath.item%3 && !indexPath.item%6){
size =[[mElements objectAtIndex:2] CGSizeValue];
}
else if(indexPath.item%4){
size =[[mElements objectAtIndex:2] CGSizeValue];
}
//... and so on
林希望能得到幫助創造,我沒有硬編碼表中的每一個可能的row
指數動態條件狀態。儘管我似乎無法擺脫困境。
這似乎做的工作。沒有必要使用返回值,因爲我的單元格是從網絡動態的。 – DevC 2014-10-22 12:00:40
很酷。 numRows的東西主要是如果有人想要在將來僞無限滾動效果......但你是對的它不適用於你的問題。 – Magoo 2014-10-22 13:34:29