una samsung imprimir impresoras impresora desde descargar cualquier con compatibles como iphone objective-c ios4

iphone - samsung - ¿Cómo imprimir o registrar el valor del objeto CGSize?



imprimir desde iphone a impresora hp (6)

Estaba intentando registrar (imprimir) el valor del objeto CGSize de esta manera:

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

¿Hay algo mal en este código? mi aplicación se bloquea mientras el control llega a la declaración NSLog.

Gracias Prasad


% @ significa que está intentando insertar una cadena. CGSize no es una cadena, y no puede convertirse automágicamente en una. Es por eso que tu aplicación falla. En su lugar, debe registrar las propiedades individuales por separado, como

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

% f se usa porque las propiedades de ancho y alto son del tipo float .

Para otras conversiones de formato, consulte los documentos: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Strings/Articles/formatSpecifiers.html


Aquí self.view es la vista de UIView Class. Puede imprimir cualquier cuadro con este registro.

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


Como JoeBlow mencionó ( me di cuenta después de tipear y formatear esta respuesta ), también está la función UIKit, NSStringFromCGSize() , para impresión bonita, y su inversa, CGSizeFromString() , para crear una estructura CGSize desde un objeto NSString .

Apple documenta el parámetro de string de CGSizeFromString( string ) siguiente manera:

Una cadena cuyos contenidos son de la forma "{ w , h }", donde w es el ancho y h es la altura. Los valores w y h pueden ser valores enteros o flotantes. Un ejemplo de una cadena válida es @ "{3.0,2.5}". La cadena no está localizada, por lo que los elementos siempre se separan con una coma.

Ejemplo

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

Salida

Pretty printed size: {320, 568}

Otras funciones útiles ( Referencia CGGeometry )

  • CGRectGetHeight ()
  • CGRectGetWidth ()

Prueba esto

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

El bloqueo ocurre porque sizeOfTab no está en formato NSString .


Puede llamar a lo siguiente para imprimir el valor que está buscando:

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


CGSize tiene el ancho y la altura de los CGFloat que son de tipo CGFloat . Puede imprimirlos usando lo siguiente

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