Um alle Views von einem anderen View zu entfernen kann folgender Code verwendet werde:
for (UIView *view in sImageView.subviews) { [view removeFromSuperview]; }
Um alle Views von einem anderen View zu entfernen kann folgender Code verwendet werde:
for (UIView *view in sImageView.subviews) { [view removeFromSuperview]; }
Mit php und curl kann man mit folgender Funktion einfach die Längen- und Breitengrade einer Klartextadresse bestimmen:
function getLatLong($plz, $ort, $street, $nr) { $google_api_key = “; $query = $street.‘ ‚.$nr.‘, ‚.$plz.‘ ‚.$ort; $str = array(‚Accept-Language: ‚.$_SERVER["HTTP_ACCEPT_LANGUAGE"]); $curl_req = curl_init(); curl_setopt($curl_req, CURLOPT_URL, ‚http://maps.google.com/maps/geo?q=‘.rawurlencode($query).’&output=csv&key=‘.$google_api_key); curl_setopt($curl_req, CURLOPT_HTTPHEADER, $str); curl_setopt($curl_req, CURLOPT_CONNECTTIMEOUT, 4); curl_setopt($curl_req, CURLOPT_RETURNTRANSFER, TRUE); $curl_res = curl_exec($curl_req); $ret = explode(‚,‘, $curl_res); return array($ret[2], $ret[3]); } // function getLatLong($plz, $ort, $street, $nr)
Um ein UILabel automatisch so hoch zu machen wie es der Inhalt erfordert kann folgender Code verwendet werden:
UILabel *lTitel = [[UILabel alloc] initWithFrame:CGRectMake(120, 0, 190, 0)]; NSString *text = @"Laanger Text mit vielen vielen Wörtern der nicht in das Label passt"; [lTitel setText:text]; [lTitel setBackgroundColor:[UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0]]; [lTitel setNumberOfLines:0]; [lTitel setFont:[UIFont fontWithName:@"Helvetica-Bold" size:11]]; CGSize labelsize = [text sizeWithFont:lTitel.font constrainedToSize:CGSizeMake(190, 2000.0) lineBreakMode:UILineBreakModeWordWrap]; lTitel.frame = CGRectMake(120, 10, 190, labelsize.height);
Um eine XML Datei mit dem IPhone SDK zu verarbeiten kann der NSXMLParser in Verbingung mit dem Interface NSXMLParserDelegate verwendet werden. Möchte man beispielsweise eine XML Datei aus dem Web verarbeiten so kann folgender Aufruf verwendet werden:
dataParser = [[NSXMLParser alloc] initWithContentsOfURL:[NSURL URLWithString:strURL]]; [dataParser setDelegate:self]; [dataParser parse]; [dataParser release];
In dem Beispiel implementiert die Klasse des aufrufenden Objekts das Interface NSXMLParserDelegate.
Mit folgenden Funktionen kann man Textinhalte aus den XML Knoten verarbeiten:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict { if ([elementName isEqualToString:@"immobilie"]) { immobilie = [[Immobilie alloc] init]; } strPath = [strPath stringByAppendingPathComponent:elementName]; } - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { if ([strPath isEqualToString:@"openimmo/immobilie/geo/plz"]) { NSLog(string); } } - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { strPath = [strPath stringByDeletingLastPathComponent]; }
Im Beispiel wird in der Variable strPath der Pfad innerhalb des XML gespeichert.
Um einen String per GET zu übergeben muss er codiert werden. Dies kann folgende Funktion erledigen:
- (NSString *)urlencode:(NSString *)value { return (NSString *)CFURLCreateStringByAddingPercentEscapes( nil, (CFStringRef)value, nil, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 ); }
In iOS5:
- (NSString *)urlencode:(NSString *)value { NSString *strReturn = (__bridge NSString *)CFURLCreateStringByAddingPercentEscapes( nil, (__bridge CFStringRef)value, nil, (CFStringRef)@"!*'();:@&=+$,/?%#[]", kCFStringEncodingUTF8 ); return strReturn; }
Das decodieren kann man mit folgender Funktion erreichen:
- (NSString *)urldecode:(NSString *) value { NSString *result = [(NSString *)value stringByReplacingOccurrencesOfString:@"+" withString:@" "]; result = [result stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; return result; }