Tôi đang sử dụng UICollectionView
để hiển thị menu và các mục đang được chọn theo cách RẤT lạ.Lạ UICollectionView Hành vi lựa chọn
Đây là dữ liệu tĩnh của tôi mà populates họ:
self.menuItems = @[@{@"text" : @"First", @"image" : @"180-stickynote.png"},
@{@"text" : @"Second", @"image" : @"180-stickynote.png"},
@{@"text" : @"Third", @"image" : @"180-stickynote.png"},
@{@"text" : @"Fourth", @"image" : @"180-stickynote.png"},
@{@"text" : @"Fifth", @"image" : @"180-stickynote.png"},
@{@"text" : @"Sixth", @"image" : @"180-stickynote.png"}];
Và các nhà cung cấp di động, nơi mà các lớp con tùy chỉnh chỉ được gắn vào các tế bào nguyên mẫu và có một UILabel
và UIImageView
:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
CUMenuCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"MenuCell" forIndexPath:indexPath];
NSDictionary *cellInfo = [self.menuItems objectAtIndex:indexPath.row];
cell.imageView.image = [UIImage imageNamed:[cellInfo valueForKey:@"image"]];
cell.label.text = [cellInfo valueForKey:@"text"];
return cell;
}
Đây là phương thức hàng đã chọn, đăng nhập tiêu đề và hàng của mục (tất cả đều ở phần 0):
- (void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"%@: %d", [[self.menuItems objectAtIndex:indexPath.row] valueForKey:@"text"], indexPath.row);
}
Cuối cùng, các ảnh chụp màn hình của trình đơn của tôi:
Đây là nhật ký khi tôi chọn các mục từ đầu tiên đến thứ sáu, sau đó trở lại từ thứ sáu đến đầu tiên (Thứ nhất, thứ hai, thứ ba, thứ tư, thứ năm, thứ sáu, thứ sáu, thứ năm, thứ tư, thứ ba, thứ hai, First) (12 tổng vòi, lưu ý rằng vòi nước đầu tiên thậm chí không đăng ký, cũng không vòi thứ sáu giây):
------------------------------------- FIRST TAP ON FIRST HERE
2013-02-13 19:38:37.343 App[1383:c07] First: 0 // second tap, on Second
2013-02-13 19:38:38.095 App[1383:c07] Second: 1 // third tap, on Third
2013-02-13 19:38:38.678 App[1383:c07] Third: 2 // fourth tap, on Fourth
2013-02-13 19:38:39.375 App[1383:c07] Fourth: 3 // fifth tap, on Fifth
2013-02-13 19:38:40.167 App[1383:c07] Fifth: 4 // so on
2013-02-13 19:38:41.751 App[1383:c07] Sixth: 5
------------------------------------- SECOND TAP ON SIXTH HERE
2013-02-13 19:38:42.654 App[1383:c07] Fifth: 4
2013-02-13 19:38:43.318 App[1383:c07] Fourth: 3
2013-02-13 19:38:44.495 App[1383:c07] Third: 2
2013-02-13 19:38:45.071 App[1383:c07] Second: 1
Rất tiếc. Tôi có thể hét lên một chút, quá muộn rồi. Cảm ơn bạn rất nhiều, chân thành! – Josh
@Josh, không sao, đó là một sai lầm mà tôi đã làm nhiều lần. – rdelmar
Chà. Thực hiện sai lầm này quá. Nghĩ rằng có một vài pháp sư tối trong công việc. Nhưng không. Đã có bản thân mình bị lừa thời gian lớn :) – villapossu