Konvertieren CGSize zu CGFloat und nutzen, dass Größe, RoundRectButton
Ich versuche zu finden, die physische Pixelgröße eine Zeichenfolge von text. Dann möchte ich verwenden Sie diese Größe, um die Länge eines roundRectButton. Die Methode, die ich verwende, um die Länge jedoch gibt eine CGSize. Wie kann ich konvertieren, dass zu einem CGFloat? Alternativ vielleicht kann jemand deuten auf eine ganz andere Art und Weise, dies zu erreichen.
Dies ist der code den ich derzeit habe:
//Note: tagAsString is a string of Tag names (Example "tag1, tag2, tag3")
//Note: Code to set this is not relevant to the question.
//get length of tagsAsString.
CGSize tagStringLength = [tagsAsString sizeWithFont:[UIFont fontWithName:@"Helvetica-Bold" size:13.0] forWidth:100.0 lineBreakMode:UILineBreakModeTailTruncation];
//size button to fit length of string
//Note: spotTags is a roundRectButton
cell.spotTags.frame = CGRectMake(96, 33, tagStringLength, 25);
//set the title of the roundRectButton to the tag string
[cell.spotTags setTitle:tagsAsString forState:UIControlStateNormal];
Wie man oben sehen kann bin ich mit dem CGRectMake Methode, die braucht 4 Argumente als CGFloat. Ich bin jedoch übergabe in einem CGSize, die dazu führt, dass ein run-time error.
InformationsquelleAutor ElasticThoughts | 2012-02-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
CGSize
ist eine Struktur:Verwenden Sie einfach
tagStringLength.width
auf die Reihe bekommen, die Sie interessieren.Und ich bin mir ziemlich sicher, sollten Sie immer einen compile-Zeit-Fehler, kein run-time-error.
InformationsquelleAutor Carl Norum
CGSize
ist eine Struktur, die aus zwei Elementen:CGFloat
Breite undCGFloat
Höhe.Beispiel-code:
InformationsquelleAutor zaph