2017-02-08 1 views
-1

Swift에서 원형 이미지를 만들려고 노력 중입니다. 주변을 검색하고 몇 개의 YouTube 동영상을 시청했습니다. 제안 된 솔루션은 매우 쉽지만, 내가 그들을 사용할 때 내가 대신 원의 눈으로 형성된 이미지를 얻을, 아래에있는 내보기 컨트롤러와 UI코너 반경이 잘못된 원형 이미지가 눈처럼 보임

var experimentIdentifier: String = "" 


@IBOutlet weak var foregroundImage: UIImageView! 
override func viewDidLoad() { 
    super.viewDidLoad() 

    foregroundImage.layer.cornerRadius = (foregroundImage.frame.size.width)/2 
    foregroundImage.layer.masksToBounds = true 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

Supposed to be a circular image

+0

코너 반경을 설정하기 전에'self.view.layoutIfNeeded()'를 호출 해보십시오. – Kimdv

+1

이미지가 처음에는 정사각형입니까? cornerRadius를 사용하면 정사각형보기에서만 작동합니다. 이미지를 정사각형 (높이 및 너비 설정)으로 지정하고 contentMode 속성을 사용하여 프레임에 맞는 모양을 조정할 수 있도록 제약 조건을 추가 할 수 있습니다 (예 : Aspect fill). – Ocunidee

+1

이미지를 사각형으로 만들고 이미지보기의 'contentMode'를 사용하여 어느 부분이 잘리는 지. –

답변

2

이미지가 사각형이 아니기 때문입니다.

행동이 문제 참조 : 이미지를 스토리 보드

1 개 사각형

enter image description here

다음 실행

폭에 이미지를 설정 : 높이 = 2 모양은

이미지가 스토리 보드

enter image description here

클릭 실행에서이 같은 사각형 인 경우

enter image description here

하지만3210, 그것은

enter image description here

같은 수 있습니다

코딩 즐기기!

0

시도의 사진입니다 이

 let profileImageView = UIImageView() 
     profileImageView.frame = CGRectMake(150, 150, 60, 60) 
     profileImageView.layer.borderWidth = 1 
     profileImageView.layer.borderColor = UIColor.grayColor().CGColor 
     profileImageView.backgroundColor = UIColor.yellowColor() 
     profileImageView.layer.cornerRadius = 60/2 


     let image = UIImage(named: "yourImageName") 
     profileImageView.layer.cornerRadius = profileImageView.frame.size.height/2 
     profileImageView.clipsToBounds = true 
0

귀하의 이미지는 제 생각과 같은 사각형이 아닙니다. 당신이 이미지의 높이와 폭이 같음 있는지 확인해야하고 또한 이미지가 정사각형뿐만 아니라 나는이

0

가 있는지 확인 도움이되기를 바랍니다

foregroundImage.layer.cornerRadius = 0.5 * your image height 
foregroundImage.layer.masksToBounds = true 
foregroundImage.clipsToBounds = true 

을이 두 가지 속성을 추가 광장 만들려면 다음 코드를 추가하십시오

foregroundImage.layer.cornerRadius = side/2 
    foregroundImage.layer.masksToBounds = true 
관련 문제