IT story

프로그래밍 방식으로 iOS 7 기본 파란색을 얻으려면 어떻게해야합니까?

hot-time 2020. 4. 26. 21:04
반응형

프로그래밍 방식으로 iOS 7 기본 파란색을 얻으려면 어떻게해야합니까?


앱에서 사용자 지정 요소를 만들고 새 iOS의 모양과 느낌을 일치 시키려고합니다. iOS 7은 시스템 버튼, 세그먼트 제어 등 여러 요소에 대한 매우 일반적인 연한 파란색, 기본 색상 또는 색조를 소개했습니다. 여기에서 볼 수 있듯이 IB를 사용하여 색상을 쉽게 선택할 수 있습니다.

여기에 이미지 설명을 입력하십시오

그러나 프로그래밍 방식으로 색상에 쉽게 액세스하는 방법을 찾지 못했습니다. UIColor documentation을 확인했는데 클래스 자체에 파란색 시스템 색상에 대한 접근자가없는 것 같습니다.

내 질문은 다음과 같습니다.이 색상에 간단한 접근자가 있습니까? [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

추신. iOS, 스위프트


스위프트 4 웨이 :

extension UIColor {
  static let system = UIView().tintColor!
}

이 코드를 사용하여 자동으로 색상을 얻으십시오.

static let DefaultButtonColor = UIButton(type: UIButtonType.System).titleColorForState(.Normal)!

이 확장은 기본 시스템 파란색을 제공합니다.

extension UIColor {

    static var systemBlue: UIColor {
        return UIButton(type: .system).tintColor
    }

}

용법:

myView.tintColor = .systemBlue

UIWindow.tintColor방법은 iOS8에서 작동하지 않았으며 (여전히 검은 색이었습니다), 나는 이것을해야했습니다.

let b = UIButton.buttonWithType(UIButtonType.System) as UIButton
var color = b.titleColorForState(.Normal)

이것은 적절한 푸른 색조를 보여주었습니다. UIBarButtonItem


iOS 7에는 API가 있으며 다음을 사용하여 색조 색상을 얻고 설정할 수 있습니다.

self.view.tintColor

또는 CGColor가 필요한 경우 :

self.view.tintColor.CGColor

많은 경우에 필요한 것은 단지

[self tintColor] 
// or if in a ViewController
[self.view tintColor]

또는 신속한

self.tintColor
// or if in a ViewController
self.view.tintColor

색상을 설정하는 동안이 색상을 설정할 수 있습니다

[UIColor colorWithRed:19/255.0 green:144/255.0 blue:255/255.0 alpha:1.0]

다음과 같은 방법으로 UIColor에 범주를 추가하면 필요할 때 언제든지 범주를 사용할 수있게되거나 코드에 따라 정의를 변경할 수 있습니다.

@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];
}

코드에서 카테고리를 가져 오면 다음을 사용하여 색상을 호출 할 수 있습니다.

UIColor *myBlueColor = [UIColor iOSblueColor];

참고 : https://stackoverflow.com/questions/19032940/how-can-i-get-the-ios-7-default-blue-color-color-programmatically

반응형