Tôi có UICollectionView trong đó mỗi UICollectionViewCell có UIButton dưới dạng chế độ xem phụ. Các UIButtons đáp ứng với vòi không có vấn đề (mục tiêu của họ bị sa thải), nhưng nút chính nó không thay đổi trạng thái được lựa chọn (không có thay đổi trong giao diện của nút). Tôi có linh cảm vì UICollectionViewCell không chuyển tiếp các sự kiện liên lạc của mình một cách chính xác đến nút, nhưng tôi không chắc chắn. Ngay cả khi đó là như vậy, làm thế nào để tôi thiết lập mọi thứ để trạng thái của nút thay đổi đúng trong kịch bản này?UIButton subview trong UICollectionViewCell không thay đổi trạng thái điều khiển
Trả lời
Các UIScrollview
(và do đó UICollectionView
quá) có một tính chất gọi delaysContentTouches
, theo mặc định nó được thiết lập để YES, thay đổi này để NO và nút của bạn sẽ nổi bật như nó là vụ phải.
Nếu tôi có thể đề nghị một sự thay thế, các UICollectionView có một phương pháp đại biểu tuyệt vời gọi là
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath { }
mà có thể xử lý các nhấp chuột để di động đó ... nếu bạn đang tìm kiếm cho các sự kiện cụ thể xảy ra như nhìn thấy một hình ảnh thay đổi trạng thái của nút, bạn có thể mã cứng trong ... khi họ nhấn nút làm một việc, khi họ nhả nút làm một việc khác ....
theo tài liệu cũng như
UIControlStateSe lected Trạng thái kiểm soát được chọn. Đối với nhiều điều khiển, trạng thái này không ảnh hưởng đến hành vi hoặc ngoại hình. Nhưng các lớp con khác (ví dụ, lớp UISegmentedControl) có thể có sự xuất hiện khác nhau tùy thuộc vào trạng thái được chọn của chúng. Bạn có thể truy xuất và đặt giá trị này thông qua thuộc tính đã chọn.
về laymens .. cho một UIButton các "Nhà nước được chọn" không có gì ...
nếu nút là giả sử để mờ khi được nhấp vào và nó không làm điều đó, sau đó bạn có thể phải làm điều đó lập trình nếu, nhưng tôi không chắc chắn chính xác những gì bạn đang cố gắng làm ...
tính năng mờ là với ở bang nhấn mạnh
UIControlStateHighlighted Nổi bật trạng thái của một điều khiển. Một điều khiển đi vào trạng thái này khi một lần chạm vào và thoát trong khi theo dõi và khi có sự kiện liên lạc. Bạn có thể truy xuất và đặt giá trị này thông qua thuộc tính được đánh dấu.
về laymens, bạn chạm vào nút nó nhấn mạnh
để xem nếu nút được thay đổi trạng thái đúng cách bạn có thể làm một cái gì đó như thế này
[button addTarget:self action:@selector(functionToCall:) forControlEvents:UIControlEventAllTouchEvents];
NSLog(@"Selected: %i", button.selected);
NSLog(@"Highlighted: %i", button.highlighted);
NSLog(@"Normal State or not: %i", button.state);
các "functionToCall sẽ được gọi khi bất kỳ loại liên lạc thậm chí sẽ xảy ra với nút và với chức năng đó, bạn có thể có 3 NSLogs này sẽ in ra bảng điều khiển của bạn các giá trị UIControlState khác nhau, điều này sẽ cho thấy nút hoạt động đúng và cho thấy rằng đó có thể là lỗi UIViewCollection, nếu đó là UICollectionView ... thì bạn sẽ phải lập trình làm mờ nút: 3
hy vọng điều này sẽ hữu ích!
Tôi đã thử đặt nút lập trình thành trạng thái được đánh dấu, nhưng nó vẫn không hoạt động. –
- 1. Thay đổi trạng thái bị trì hoãn UIButton
- 2. Làm thế nào để vô hiệu hóa trạng thái điều khiển nổi bật của UIButton?
- 3. iOS7 MPMusicPlayerBộ điều khiển trạng thái không chính xác
- 4. Kích thước nội tại không cập nhật khi thay đổi trạng thái UIButton
- 5. Mẫu trạng thái và thiết kế điều khiển tên miền
- 6. Điều gì có thể khiến XMLHttpRequest không bao giờ thay đổi trạng thái trong Firefox?
- 7. Trạng thái được đánh dấu UIButton không hiển thị khi nhấp vào UIButton đã chọn
- 8. iPhone Hoạt ảnh UIView Tắt UIButton Subview
- 9. Thêm UIButton làm subview vào UITabBar
- 10. force onLayout trong subView có kích thước không thay đổi
- 11. UIButton hiển thị trạng thái đã chọn trên tap
- 12. Thay đổi kích thước văn bản trên UIButton
- 13. chuyển đổi trạng thái UIButton khi nhấn, giống như công tắc
- 14. Làm thế nào để bạn thay đổi hình ảnh UIButton alpha trên trạng thái vô hiệu hóa?
- 15. Cách gọi hành động khi UISwitch thay đổi trạng thái?
- 16. ASM: Chuyển đổi trạng thái
- 17. Ngăn thay đổi kích thước UIImage cho UIButton
- 18. Flex 4: Sự kiện thay đổi trạng thái
- 19. Thay đổi trạng thái Lync theo tập lệnh
- 20. Cách thay đổi màu nền của thanh trạng thái android
- 21. Tại sao display_errors thay đổi mã trạng thái HTTP?
- 22. Xem sự thay đổi trạng thái địa chỉ IP
- 23. jQuery Mobile - Thay đổi trạng thái radiobutton lập trình
- 24. Làm cách nào để thực hiện điều gì đó khi trạng thái thay đổi hộp kiểm?
- 25. Kỹ thuật tốt để xử lý thay đổi trạng thái và trạng thái trong phát triển trò chơi là gì?
- 26. PHP - trạng thái chuyển đổi
- 27. Thay đổi màu của UISwitch ở trạng thái "tắt"
- 28. Thay đổi thuộc tính thanh trạng thái ứng dụng iPhone
- 29. Thay đổi điều khiển truy cập của điều khiển ASP.NET
- 30. Thay đổi màu nền UIButton
Đẹp! Làm việc hoàn hảo.Đối với những người tò mò, đây là tài liệu liên quan về thuộc tính đó: 'Một giá trị Boolean xác định xem chế độ xem cuộn có làm trì hoãn việc xử lý các cử chỉ cảm ứng không. Nếu giá trị của thuộc tính này là CÓ, chế độ xem cuộn sẽ xử lý thao tác chạm xuống cho đến khi nó có thể xác định xem cuộn có là ý định hay không. Nếu giá trị là NO, chế độ xem cuộn ngay lập tức gọi chạm vàoShouldBegin: withEvent: inContentView :. Giá trị mặc định là YES.' –