Tôi đang cố gắng triển khai 6 dòng nhãn mô tả cao và tôi muốn nó có thể lấy nét được. Lý tưởng nhất có nghĩa là mở rộng lớp UILabel để tạo thành phần tùy chỉnh. Tôi đã thử điều đó bằng cách triển khai canBecomeFocused
và didUpdateFocusInContext
nhưng UILabel của tôi dường như không tập trung.Đặt UILabel có thể lấy nét và có thể nhấn được (tvOS)
Tôi cũng đã thử thay thế UILabel bằng UIButton, nhưng các nút không thực sự được tối ưu hóa cho loại điều này. Điều đó cũng có nghĩa là tôi cần phải thay đổi buttonType
trên tiêu điểm từ tùy chỉnh thành đồng bằng .. và buttonType có vẻ là thuộc tính chỉ sẵn sàng.
Trong thực tế, tôi muốn có cùng một nhãn văn bản chính xác do Apple triển khai trong ứng dụng Apple TV Phim. Đối với mô tả phim, chúng có nhãn văn bản hiển thị một vài dòng văn bản và "dòng chữ" hơn. Khi lấy nét, nó trông giống như một nút (đổ bóng xung quanh) và thay đổi màu nền. Khi khai thác - nó sẽ mở ra một cửa sổ phương thức với toàn bộ mô tả phim.
Mọi đề xuất? Hoặc có thể ai đó đã triển khai điều khiển tùy chỉnh này cho tvOS? Hoặc sự kiện tốt hơn - có một thành phần từ Apple thực hiện điều này và tôi đang thiếu thứ gì đó.
PS: Swift giải pháp sẽ được hoan nghênh :)
Cảm ơn câu trả lời này, tôi đã sửa đổi nó một chút cho dự án của tôi. https://gist.github.com/Cedrick84/8922a0af730c39c05794 – Cedrick
Có gì thay đổi với tvOS gần đây và điều này có thể khiến việc này không hoạt động không? Tôi vẫn không thể có được một TextView để lấy tiêu điểm bất kể tôi cố gắng làm gì. Tôi đã đi xuống cả hai tuyến đường bằng kernelpanic và @Cedrick. –
Vâng, tôi đã làm một cái gì đó tương tự cho UIImageView và tôi đã có thể làm cho nó tập trung (mặc dù nó không phải bên trong một bảng hoặc collectionview) nhưng tôi không thể có được TextView để làm việc. Không có ý tưởng tại sao ngay bây giờ như tôi đã làm tất cả mọi thứ được đề cập ở trên – c0d3Junk13