2014-06-15 3 views
0

스위프트에는 var timerFontSize = 85이라는 줄이 있습니다. 그게 작동하지 않지만 라인 timerLabel.font = UIFont(name: "HelveticaNeue-Ultralight", size: timerFontSize)을 갖고 싶습니다. 변수에 할당하지 않고 숫자 만 입력하면됩니다. 숫자를 입력하고 싶지 않은 이유는 1 초마다 글꼴 변수가 1 씩 떨어지는 타이머가 있기 때문입니다.글꼴 크기를 정수로 설정 하시겠습니까?

글꼴 크기를 정수로 설정하는 방법은 무엇입니까? 글꼴을 생성하는 방법이 걸리는 반면,

var timerFontSize = 85 

당신은 암시 적으로 Int를 입력하여 변수를 설정하는 :

+0

@JoachimIsaksson 예 : http://stackoverflow.com/a/24230940/2792531 – nhgrif

+0

@nhgrif 멋진 버전이지만 캐스트 버전 만 보았습니다. –

답변

3

은 단순히이 줄을 사용하여 CGFloat

UIFont(name: "HelveticaNeue-Ultralight", size: CGFloat(timerFontSize)) 
2

에 수를 던져 입력 CGFloat 인수

당신이 메서드를 호출 할 때 당신은 CGFloat로이 변수를 캐스트 수, 또는 명시 적으로 CGFloat 유형으로 변수를 만들 수 있습니다

var timerFontSize: CGFloat = 85 

그것은 주목할 가치가 그

var timerFontSize = 85.0 

timerFontSize을 이중으로 작성하고

var timerFontSize = 85.0f 

timerFontSize을 부동 소수점으로 생성합니다.

전자는 CGFloat이 이중으로 끝나는 64 비트 장치에서 작동하며 후자는 CGFloat이 부동 소수점으로 끝나는 32 비트 장치에서 작동합니다. 그러나이 옵션 중 하나를 사용하지 않으려는 경우 다른 장치에서 충돌하게됩니다.

CGFloat은 장치가 32 비트인지 64 비트인지에 따라 float/double의 typedef입니다.

관련 문제