2017-03-20 4 views
1

UITextField을 통해 국경을 아래와 같이 설정합니다 (UIView).
InterfaceBuilder 및 코드를 통해 다른 색상을 설정하는 중

extension UIView { 

    func border(side: BorderSide = .all, color:UIColor = UIColor.black, borderWidth:CGFloat = 1.0) { 

     let border = CALayer() 
     border.borderColor = color.cgColor 
     border.borderWidth = borderWidth 

     switch side { 
     case .all: 
      self.layer.borderWidth = borderWidth 
      self.layer.borderColor = color.cgColor 
     case .top: 
      border.frame = CGRect(x: 0, y: 0, width:self.frame.size.width ,height: borderWidth) 
     case .bottom: 
      border.frame = CGRect(x: 0, y: self.frame.size.height - borderWidth, width:self.frame.size.width ,height: borderWidth) 
     case .left: 
      border.frame = CGRect(x: 0, y: 0, width: borderWidth, height: self.frame.size.height) 
     case .right: 
      border.frame = CGRect(x: self.frame.size.width - borderWidth, y: 0, width: borderWidth, height: self.frame.size.height) 
     case .cusomRight: 
      border.frame = CGRect(x: self.frame.size.width - borderWidth - 8, y: 8, width: borderWidth, height: self.frame.size.height - 16) 
     } 

     if side.rawValue != 0 { 
      self.layer.addSublayer(border) 
      self.layer.masksToBounds = true 
     } 

    } 
} 

이 줄을 통해 영향을받습니다.

let color = UIColor.hexStringToUIColor(hex: "#1F271B") 
txtLongitude.border(side: .bottom, color: color, borderWidth: 1) 

서로를 내가 UITextView의 테두리로 UIView을 복용하는 동안. InterfaceBuilder에서 배경색을 지정합니다. 아래 스크린 샷에 나와 있습니다.
Setting color via InterfaceBuilder

하지만 애플리케이션을 실행할 때. 나는 InterfaceBuilder을 통해 준 다른 색깔을 얻고있다. 다음은 스크린 샷입니다.
Color which is gave by code
Color which is gave by InterfaceBuilder
나는 코딩을 통해 색상을 모두 설정할 수 있지만 InterfaceBuilder에서 색상을 설정하는 동안 왜 이런 일이 발생하는지 알고 싶습니다. 나는 아래 이미지에 표시된 버튼에 전에이 문제를 가지고

+0

내가 생각 프로그래밍하고자하고 그 가치를 찾을 수 당신이 excatly 백인과 체크 한 번에 배경색을 변경하고 확인하고 싶다면 올바른 색상입니다 –

답변

2

드롭 목록 Device RGB 대신 Generic RGB 에서 선택하고 색상은 당신이

enter image description here

+1

지식의 이런 종류에 대해 정말 고마워 ..... –

+0

투표를 잊지 마세요^_ ^ –