Tuỳ chỉnh giao diện người dùng iOS Sender

Bạn có thể tuỳ chỉnh tiện ích Truyền bằng cách đặt màu sắc, tạo kiểu cho nút, văn bản và hình thu nhỏ, cũng như bằng cách chọn loại nút sẽ hiển thị.

Tuỳ chỉnh giao diện của tiện ích

Các tiện ích khung Cast hỗ trợ Apple UIAppearance Protocol trong UIKit để thay đổi giao diện của các tiện ích trên ứng dụng, chẳng hạn như vị trí hoặc đường viền của một nút. Hãy sử dụng giao thức này để tạo kiểu cho các tiện ích khung Truyền sao cho phù hợp với kiểu ứng dụng hiện có.

Ví dụ về nút truyền

Swift
GCKUICastButton.appearance().tintColor = UIColor.gray
Objective-C
[GCKUICastButton appearance].tintColor = [UIColor grayColor];

Tuỳ chỉnh tiện ích trực tiếp

Tuỳ chỉnh một tiện ích trực tiếp bằng các thuộc tính của lớp cao cấp. Ví dụ: bạn nên tuỳ chỉnh màu GCKUICastButton bằng thuộc tính tintColor:.

Ví dụ về nút truyền

Swift
castButton.tintColor = UIColor.gray
Objective-C
castButton.tintColor = [UIColor grayColor];

Chọn nút điều khiển

Cả lớp tay điều khiển mở rộng (GCKUIExpandedMediaControlsViewController) và lớp tay điều khiển mini (GCKUIMiniMediaControlsViewController) đều có thanh nút và ứng dụng đều có thể định cấu hình nút nào được hiển thị trên các thanh đó. Điều này đạt được bởi cả hai lớp tuân theo GCKUIMediaButtonBarProtocol.

Thanh điều khiển mini có 3 khe có thể định cấu hình cho các nút:

SLOT  SLOT  SLOT
  1     2     3

Thanh điều khiển mở rộng có nút bật tắt phát/tạm dừng vĩnh viễn ở giữa thanh cùng với 4 khe có thể định cấu hình:

SLOT  SLOT  PLAY/PAUSE  SLOT  SLOT
  1     2     BUTTON      3     4

Ứng dụng của bạn có thể tham chiếu đến tay điều khiển mở rộng bằng thuộc tính -[defaultExpandedMediaControlsViewController] của GCKCastContext, đồng thời có thể tạo một tay điều khiển nhỏ bằng -[createMiniMediaControlsViewController].

Mỗi khe có thể chứa một nút khung, một nút tuỳ chỉnh hoặc để trống. Danh sách các nút điều khiển khung được xác định là:

Loại nút Nội dung mô tả
GCKUIMediaButtonTypeNone Không đặt một nút vào vị trí này
GCKUIMediaButtonTypeCustom Nút tuỳ chỉnh
GCKUIMediaButtonTypePlayPauseToggle Chuyển đổi giữa chế độ phát và tạm dừng
GCKUIMediaButtonTypeSkipPrevious Chuyển về mục trước trong hàng đợi
GCKUIMediaButtonTypeSkipNext Chuyển đến mục tiếp theo trong hàng đợi
GCKUIMediaButtonTypeRewind30Seconds Tua lại 30 giây
GCKUIMediaButtonTypeForward30Seconds Tua đi 30 giây phát lại
GCKUIMediaButtonTypeMuteToggle Tắt tiếng và bật tiếng Bộ thu web từ xa
GCKUIMediaButtonTypeClosedCaptions Mở hộp thoại để chọn bản âm thanh và văn bản

Bạn có thể xem nội dung mô tả chi tiết về chức năng của mỗi nút trong GCKUIMediaButtonBarProtocol.h

Thêm một nút như sau bằng các phương thức trên GCKUIMediaButtonBarProtocol:

  • Để thêm một nút khung vào thanh, bạn chỉ cần gọi -[setButtonType:atIndex:].

  • Để thêm một nút tuỳ chỉnh vào một thanh, ứng dụng của bạn phải gọi -[setButtonType:atIndex:] với buttonType được đặt thành GCKUIMediaButtonTypeCustom, sau đó gọi -[setCustomButton:atIndex:] truyền UIButton với cùng chỉ mục.

Áp dụng kiểu tuỳ chỉnh cho ứng dụng iOS

Cast iOS SDK cho phép bạn tạo kiểu cho phông chữ, màu sắc và hình ảnh của các thành phần trên giao diện người dùng của tiện ích mặc định trong trình gửi iOS, mang lại giao diện phù hợp với phần còn lại của ứng dụng.

Phần sau đây cho bạn biết cách áp dụng kiểu tuỳ chỉnh cho bất kỳ tiện ích Truyền hoặc nhóm tiện ích nào.

Áp dụng kiểu cho thành phần trên giao diện người dùng của tiện ích

Quy trình này sử dụng ví dụ về cách đặt màu văn bản nội dung trên bộ điều khiển thu nhỏ của ứng dụng thành màu đỏ.

  1. Xem trong bảng thành phần hiển thị và kiểu để tìm tên thành phần hiển thị của tiện ích hoặc nhóm tiện ích mà bạn muốn tạo kiểu. Tên nhóm được đánh dấu bằng ▼.

    Ví dụ: chế độ xem tiện ích miniController

  2. Tìm tên của các thuộc tính bạn muốn thay đổi từ danh sách các thuộc tính trong lớp kiểu tương ứng được liệt kê trong bảng này.

    Ví dụ: bodyTextColor là một thuộc tính của lớp GCKUIStyleAttributesMiniController.

  3. Viết mã.

    Ví dụ:

Swift
// Get the shared instance of GCKUIStyle
let castStyle = GCKUIStyle.sharedInstance()
// Set the property of the desired cast widget.
castStyle.castViews.mediaControl.miniController.bodyTextColor = UIColor.red
// Refresh all currently visible views with the assigned styles.
castStyle.apply()
Objective-C
// Get the shared instance of GCKUIStyle.
GCKUIStyle *castStyle = [GCKUIStyle sharedInstance];
// Set the property of the desired cast widget.
castStyle.castViews.mediaControl.miniController.bodyTextColor = [UIColor redColor];
// Refresh all currently visible views with the assigned styles.
[castStyle applyStyle];

Sử dụng mẫu này để áp dụng kiểu bất kỳ cho thành phần giao diện người dùng của bất kỳ tiện ích nào.

Bảng thành phần hiển thị và kiểu

Bảng này hiển thị 7 thành phần hiển thị tiện ích và 3 nhóm (được đánh dấu bằng ▼) mà bạn có thể áp dụng kiểu.

Tên chế độ xem Loại Lớp kiểu
castViews Nhóm GCKUIStyleAttributesCastViews
deviceControl Nhóm GCKUIStyleAttributesDeviceControl
deviceChooser Tiện ích GCKUIStyleAttributesDeviceChooser
noDevicesAvailableController Tiện ích GCKUIStyleAttributesNoDevicesAvailableController
connectionController Nhóm GCKUIStyleAttributesConnectionController
navigation Tiện ích GCKUIStyleAttributesConnectionNavigation
toolbar Tiện ích GCKUIStyleAttributesConnectionToolbar
mediaControl Nhóm GCKUIStyleAttributesMediaControl
miniController Tiện ích GCKUIStyleAttributesMiniController
expandedController Tiện ích GCKUIStyleAttributesExpandedController
trackSelector Tiện ích GCKUIStyleAttributesTrackSelector
instructions Tiện ích GCKUIStyleAttributesInstructions

Hệ thống phân cấp kiểu

Singleton GCKUIStyle là điểm truy cập API cho tất cả các chế độ cài đặt kiểu. Lớp này có thuộc tính castViews (gốc) của hệ phân cấp kiểu, như minh hoạ dưới đây; sơ đồ này là một cách khác để xem các nhóm và thành phần hiển thị tương tự như trong bảng trước.

Bạn có thể áp dụng một kiểu cho từng tiện ích hoặc cho một nhóm tiện ích. Hệ phân cấp kiểu có 3 nhóm tiện ích: CastViews, deviceControl và MediaControl. Hình chữ nhật của mỗi nhóm chứa các tiện ích của nhóm đó. Khi áp dụng một kiểu cho một nhóm, bạn sẽ áp dụng kiểu đó cho tất cả tiện ích trong nhóm đó.

Ví dụ: nhóm castViews cho phép bạn áp dụng một kiểu cho tất cả các tiện ích và nhóm deviceControl cho phép bạn áp dụng một kiểu cho chỉ 3 tiện ích điều khiển thiết bị. Tiện ích instructions không thuộc bất kỳ nhóm nào.

castViews
deviceControl mediaControl
hướng dẫn

thiết bị
Bộ chọn
Màn hình noDevicesAvailable
kết nối
Bộ điều khiển
thu nhỏ
Bộ điều khiển
đã mở rộng
Bộ điều khiển
kênh
Bộ chọn
điều hướng / thanh công cụ

Chú thích cuối trang: Tên tiện ích trong sơ đồ này (hiển thị trên hai dòng) phải được viết dưới dạng một từ, một dòng, không có dấu cách. Ví dụ: device Chooser phải được viết deviceChooser. Cuộn qua hình ảnh để phóng to chúng.