iOS 7의 기본 파란색을 프로그래밍 방식으로 가져오려면 어떻게 해야 합니다.
앱에서 커스텀 요소를 만들고 있는데 새로운 iOS의 모양과 느낌에 맞추고 싶습니다. iOS 7은 매우 일반적인 밝은 파란색, 시스템 버튼, 세그먼트 컨트롤 등 여러 요소에 기본 색상 또는 틴트를 도입했습니다.다음과 같이 IB를 사용하여 색상을 쉽게 선택할 수 있습니다.
그러나 프로그램적으로 컬러에 쉽게 접근할 수 있는 방법을 찾지 못했습니다.UICollor 문서를 확인했는데, 클래스 자체에는 파란색 시스템 색상의 접근자가 없는 것 같습니다.
여기서 질문하겠습니다.이 색상에 심플한 액셀러레이터가 존재합니까? [UIColor ?]
뭐 그런 거라도?만약 없다면, 누가 그 색상의 정확한 RGB 값을 알고 있나요?
사용하다self.view.tintColor
뷰 컨트롤러 또는self.tintColor
에서UIView
서브클래스
그런 것 같다[UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0]
.
iOS 7 기본 파란색은R:0.0 G:122.0 B:255.0
UIColor *ios7BlueColor = [UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0];
UIButton의 설명서에 따르면
iOS v7.0에서는 UIView의 모든 서브클래스는 기본 클래스에서 tintColor에 대한 동작을 파생합니다.자세한 내용은 UIView레벨의 tintColor에 대한 설명을 참조해 주세요.
기본값을 가져오기 전에 tintColor를 변경하지 않는 경우 다음을 사용할 수 있습니다.
self.view.tintColor
기본 시스템 틴트 색상을 얻는 간단한 방법은 다음과 같습니다.
+ (UIColor*)defaultSystemTintColor
{
static UIColor* systemTintColor = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
UIView* view = [[UIView alloc] init];
systemTintColor = view.tintColor;
});
return systemTintColor;
}
16진수 색상 코드
#007AFF
이 라이브러리 https://github.com/thii/SwiftHEXColors가 필요합니다.
ps. iOS, Swift
신속한 4방향:
extension UIColor {
static let system = UIView().tintColor!
}
시스템 색상이 미리 정의된 네이티브 확장 기능으로 원하는 기능을 제공합니다.
// System colors
extension UIColor {
/* Some colors that are used by system elements and applications.
* These return named colors whose values may vary between different contexts and releases.
* Do not make assumptions about the color spaces or actual colors used.
*/
...
@available(iOS 7.0, *)
open class var systemBlue: UIColor { get }
...
}
직접 사용할 수 있습니다.
myView.tintColor = .systemBlue
다음 코드를 사용하여 자동으로 색상 가져오기:
static let DefaultButtonColor = UIButton(type: UIButtonType.System).titleColorForState(.Normal)!
그UIWindow.tintColor
iOS8에서는 이 방법이 작동하지 않았기 때문에(아직도 검은 색이었다) 다음과 같이 해야 했습니다.
let b = UIButton.buttonWithType(UIButtonType.System) as UIButton
var color = b.titleColorForState(.Normal)
이것으로, 적절한 블루 톤을 얻을 수 있었습니다.UIBarButtonItem
iOS 7에서는 API가 제공되며 다음과 같이 틴트 색상을 가져올 수 있습니다.
self.view.tintColor
CGCollor가 필요한 경우:
self.view.tintColor.CGColor
많은 경우, 당신이 필요한 것은
[self tintColor]
// or if in a ViewController
[self.view tintColor]
또는 신속성을 위해
self.tintColor
// or if in a ViewController
self.view.tintColor
건들지 말아주세요view.tintColor
또는 내선번호를 지정합니다.단, 다음과 같이 입력합니다.
UIColor.systemBlue
색을 설정하면서 이렇게 색을 설정할 수 있습니다.
[UIColor colorWithRed:19/255.0 green:144/255.0 blue:255/255.0 alpha:1.0]
다음과 같은 방법으로 UICollor에 카테고리를 추가하면 필요할 때 언제든지 사용할 수 있습니다.또, 코드에 따라서 카테고리의 정의를 변경할 수도 있습니다.
@interface UIColor (iOS7Colors)
+ (instancetype)iOS7blueColor;
@end
@implementation UIColor (SpecialColors)
+ (instancetype)iOS7blueColor;
{
return [UIColor colorWithRed:0.0f green:0.22f blue:122.0/255.0 alpha:1.0f];
}
코드로 카테고리를 Import 하면, 다음의 방법으로 색상을 호출할 수 있습니다.
UIColor *myBlueColor = [UIColor iOSblueColor];
언급URL : https://stackoverflow.com/questions/19032940/how-can-i-get-the-ios-7-default-blue-color-programmatically
'IT' 카테고리의 다른 글
OLE DB 공급자 'Microsoft.Jet.OLEDB.4.0'은 분산 쿼리에 사용할 수 없습니다. (0) | 2023.04.13 |
---|---|
이전 커밋을 체크한 후 최신 커밋으로 돌아가려면 어떻게 해야 합니까? (0) | 2023.04.13 |
T-SQL: 문자열 연결과 반대 - 문자열을 여러 레코드로 분할하는 방법 (0) | 2023.04.13 |
C# 프로그램을 50밀리초 동안 sleep 상태로 만들려면 어떻게 해야 하나요? (0) | 2023.04.08 |
'<' 연산자는 향후 사용을 위해 예약되어 있습니다. (0) | 2023.04.08 |