programing

CGSize 개체의 값을 인쇄하거나 기록하는 방법은 무엇입니까?

subpage 2023. 8. 27. 09:19
반응형

CGSize 개체의 값을 인쇄하거나 기록하는 방법은 무엇입니까?

CGSize 개체의 값을 다음과 같이 기록(인쇄)하려고 했습니다.

CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);

NSLog(@"size of tab is %@",sizeOfTab);

이 코드에 문제가 있습니까? NSLog 문에 제어 기능이 표시되는 동안 앱이 작동하지 않습니다.

감사합니다 프라사드

사용해 보세요.

CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);
NSLog(@"size of tab is %@",NSStringFromCGSize(sizeOfTab));

충돌이 발생하는 이유는sizeOfTab에 없음NSString서식을 정하다

다음을 호출하여 원하는 값을 인쇄할 수 있습니다.

NSLog(@"width = %f, height = %f", mySize.width, mySize.height);

Joe Blow가 언급했듯이 ( 답변을 타이핑하고 포맷한 후에 알게 되었습니다), 예쁜 인쇄를 위한 UIKit 기능과 그 역기능이 있습니다.CGSize로부터 구조하다.NSString물건.

Apple은 다음과 같은 매개 변수를 문서화합니다.CGSizeFromString(string)다음과 같이:

w는 너비이고 h는 높이인 "{w, h}" 형식의 문자열입니다.w h 값은 정수 또는 부동 값일 수 있습니다.유효한 문자열의 예는 @"{3.0,2.5}"입니다.문자열이 현지화되어 있지 않으므로 항목은 항상 쉼표로 구분됩니다.


CGSize size = CGSizeFromString(@"{320,568}");
NSLog(@"Pretty printed size: %@", NSStringFromCGSize(size));

산출량

Pretty printed size: {320, 568}

기타 유용한 기능(CG 기하학 참조)

  • CGRectGet높이()
  • CGRectGetWidth()

문자열을 삽입하려고 한다는 의미입니다.CG 크기는 문자열이 아니므로 자동으로 변환할 수 없습니다.그것이 당신의 앱이 충돌하는 이유입니다.대신 다음과 같이 개별 속성을 개별적으로 기록해야 합니다.

NSLog(@"width is %f, height is %f.", sizeOfTab.width, sizeOfTab.height);

너비높이 속성이 플로트 유형이기 때문에 %f가 사용됩니다.

기타 형식 변환은 http://developer.apple.com/library/mac/ #documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html 문서를 참조하십시오.

CGSize유형의 부재 폭과 높이를 가집니다.CGFloat다음을 사용하여 인쇄할 수 있습니다.

NSLog(@"Width = %f, height = %f",sizeOfTab.width, sizeofTab.height);

여기서.view는 UIView 클래스의 뷰입니다.이 로그를 사용하여 모든 프레임을 인쇄할 수 있습니다.

      NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));

언급URL : https://stackoverflow.com/questions/6621975/how-to-print-or-log-the-value-of-cgsize-object

반응형