Porównaj ceny domen i usług IT, sprzedawców z całego świata

Jak wydrukować lub zarejestrować wartość obiektu CGSize?


Próbowałem napisać (wydrukować) wartość obiektu CGSZES w następujący sposób:
CGSize sizeOfTab = CGSizeMake(self.frame.size.width/tabCount, 49);NSLog(@"size of tab is %@",sizeOfTab);

Czy jest coś nie tak z tym kodem; moja aplikacja ulega awarii, gdy formant osiągnie instrukcję NSLog.
podziękować
Prasadam
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

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

Awaria występuje, ponieważ format
sizeOfTab
nie jest w formacie
NSString
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz zadzwonić do następującego polecenia, aby wydrukować potrzebną wartość:
NSLog(@"width = %f, height = %f", mySize.width, mySize.height);
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

w jaki sposób

już wspomniane
https://coderoad.ru/6621975/
JoeBlow (
zauważyłem po wpisaniu i sformatowaniu tej odpowiedzi
), jest też funkcja UIKit,
NSStringFromCGSize()
https://developer.apple.com/li ... GSize
dla pięknego wydruku i jego odwrotnej funkcji,
CGSizeFromString()
https://developer.apple.com/li ... tring
aby utworzyć strukturę
CGSize
z obiektu
NSString
.
Apple Documens.

string
CGSizeFromString (
string
)
w następujący sposób:

Ciąg, którego zawartość to „{

w

,

h

} "gdzie

w

-
Szerokość, A.

h

-wysokość. Wartości

w

i

h

może być liczbą całkowitą lub
Ruchomy. Przykład prawidłowego ciągu to @ "{3.0,2.5}". Strunowy
nie jest zlokalizowany, więc elementy są zawsze oddzielane przecinkami.


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


Wyjście
>
Pretty printed size: {320, 568}

Inne przydatne funkcje (

Połączyć
https://developer.apple.com/li ... .html
CGGeometry )
>
  • CGRectGetHeight()
  • CGRectGetWidth()
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

% @ oznacza, że ​​próbujesz wstawić linię. CGSize nie jest ciągiem znaków i nie można go automatycznie przekonwertować na jeden. Dlatego aplikacja ulega awarii. Zamiast tego musisz osobno zarejestrować poszczególne właściwości, na przykład
NSLog(@"width is %f, height is %f.", sizeOfTab.width, sizeOfTab.height);

% f jest używane, ponieważ właściwości

width

i

height

są typu

float

.
Informacje na temat innych konwersji formatów można znaleźć w dokumentach:

http://developer.apple.com/lib ... .html
http://developer.apple.com/lib ... .html
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

CGSize
ma szerokość i wysokość elementów członkowskich, które są typu
CGFloat
. Możesz je wydrukować w następujący sposób
NSLog(@"Width = %f, height = %f",sizeOfTab.width, sizeofTab.height);
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Tutaj self.view jest widokiem klasy UIView. Za pomocą tego magazynu możesz wydrukować dowolną ramkę.
NSLog(@"self.view.Frame=%@", NSStringFromCGRect(self.view.frame));

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się