Hauptmenü

Werkzeuge

Kategorien

Archiv

Schriftgröße eines mehrzeiligen UILabel automatisch anpassen.

Erstellt in IPhone SDK am 30. Juni 2012 vom Daschmi

UILabel unterstützt die automatische Schriftgrößenanpassung von Haus aus. Allerdings nur bei einzeiligen Texten. Mit folgender Funktion wird die Schriftgröße an das übergebene Label angepasst:


- (void)sizeFontForLabel:(UILabel *)label {

 for(int i = 28; i > 10; i = i-2)
 {

 label.font = [UIFont fontWithName:label.font.fontName size:i];
 CGSize constraintSize = CGSizeMake(label.frame.size.width, MAXFLOAT);
 CGSize labelSize = [label.text sizeWithFont:label.font constrainedToSize:constraintSize lineBreakMode:UILineBreakModeWordWrap];

 if(labelSize.height <= label.frame.size.height) break;

 }

}

Zugriff auf die Kamera und das Album aus einer IPhone Anwendung

Erstellt in IPhone SDK am 10. Juni 2012 vom Daschmi

Um Bilder zu seiner Anwendung hinzuzufügen macht kann man den Zugriff auf die eingebaute Kamera oder das Album nutzen. Für den Zugriff sollte man die internen Schnittstellen verwenden. Der Zugriff auf die iPhone Funktionen wird über die UIImagePicker Klasse realisiert.

Um den ImagePicker zu nutzen geht man wie folgt vor:

UIImagePickerController *picker1 = [[UIImagePickerController alloc]init];
 picker1.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
 picker1.sourceType = UIImagePickerControllerSourceTypeCamera;
 picker1.allowsEditing = YES;
 picker1.delegate = self;
 [self presentModalViewController:picker1 animated:YES];

Möchte man auf die Kamera statt auf das Album zugreifen ersetzt man den Sourcetyp mit:

picker1.sourceType = UIImagePickerControllerSourceTypeCamera;

Über die Delegate Klasse kann man das zurückgegebene Bild steuern.

Dazu muss man folgende Klasse überschreiben:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {

Auf das bearbeitete Bild kann man dann wie folgt zugreifen:

UIImage *img = [info objectForKey:@"UIImagePickerControllerEditedImage"]];

Es macht Sinn das Ganze über ein UIActionSheet zu steuern, um die gewohnte iPhone Bedienung zu erhalten. Die Kamera Funktion lässt sich im übrigen nicht im Simulator testen.