Câu hỏi của tôi xoay quanh sự phân biệt của UISegmentedController trên UINavigationBar và thanh công cụ UIToolbar. Nếu tôi thả UISegmentedControl vào thanh điều hướng như sau:Màu UISegmentedControl trong thanh công cụ UIToolbar
navigationBar.barStyle = UIBarStyleBlackTranslucent;
tất cả đều tốt. UISegmentedControl xác định tùy chọn được chọn với màu đen hơi đậm hơn. Nhưng, nếu tôi thả một UISegmentedControl vào một UIToolbar, nó không nhận được màu sắc hoặc độ mờ từ thanh công cụ. Nếu tôi tự thiết lập tintColor, UISegmentedControl không phân biệt giữa lựa chọn và không được chọn nữa.
Phải thừa nhận rằng, người ta phải bọc UISegmentedControl trong UIBarButtonItem trước khi thả vào thanh UIToolbar. Tôi tự hỏi nếu đó là một phần của lý do UISegmentedControl trông không chính xác (màu xanh trên nền đen mờ).
toolbar.barStyle = UIBarStyleBlackTranslucent;
UIBarButtonItem *item = [[[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
NSArray *toolbarItems = [[NSArray alloc] initWithObjects:item,nil];
toolbar.items = toolbarItems;
Được cấp, mã của tôi không chính xác như được viết vì tôi đang sử dụng thanh điều hướng bên trong và thanh công cụ điều khiển nhưng logic chung là giống nhau. Tôi không chắc chắn làm thế nào để làm cho UISegmentedControl trên UIToolbar có một phong cách mờ đen - duy trì một sự phân biệt rõ ràng giữa các phân đoạn được chọn và không được chọn.
này giúp: 'segmentedController.tintColor = [UIColor darkGrayColor];' nhưng nó tạo ra sự phụ thuộc khó mã hóa mà tôi không muốn giới thiệu. Ví dụ, làm cho nó hơi phức tạp hơn để cho phép người dùng lựa chọn các lược đồ màu. –
Bạn đã tìm ra kết quả? – DenNukem
Cho đến khi Apple triển khai logic màu UINavigation vào thanh công cụ UIToolbar cho UISegmentedControl, tôi đã bị xuống cấp để sử dụng thuộc tính tintColor. –