Text insets in UITextField

Um Text insets in UITextField zu verwenden ist es am einfachsten die zwei Methoden -textRectForBounds: und editingRectForBounds: zu überschreiben.
Dadurch wird dann sowohl der Text, als auch der Platzhalter um den gewünschten Abstand eingerückt.

Hier der Beispielcode in Swift:


//Textposition
override func editingRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset( bounds , 8 , 8 )
}


//Platzhalterposition
override func textRectForBounds(bounds: CGRect) -> CGRect {
return CGRectInset( bounds , 8 , 8)
}

Und der Beispielcode für Objective-C:

//Textposition
- (CGRect)editingRectForBounds:(CGRect)bounds {
return CGRectInset( bounds , 8 , 8 );
}


//Platzhalterposition
- (CGRect)textRectForBounds:(CGRect)bounds {
return CGRectInset( bounds , 8 , 8 );
}

Swift: Viewcontroller vom Storyboard initialisieren

Unter Swift ist es genau wie unter Objective-C möglich, Viewcontroller aus dem Storyboard zu initialisieren. Lediglich die Syntax hat sich geändert.
Um in Swift einen Viewcontroller zu initialisieren verwendet folgendes Code-Snippet:

let storyboard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("myViewController") as! UIViewController

Swift: Delegate implementieren

Apples neue Programmiersprache Swift ist an manchen Stellen etwas gewöhnungsbedürftig. Falls ihr euch fragt, wie ihr in einer Klasse einen Delegate implementieren könnt, findet ihr hier ein Beispiel:

class TestViewController: UIViewController, UIWebViewDelegate{

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}

Delegates werden in Swift mit Kommas hinter den Typ der Klasse angehängt. Im Beispiel implementiert die Klasse TestViewController den UIWebViewDelegate.

mcrypt installieren CentOS

Viele Bibliotheken und Tools benötigen die php Erweiterung mcrypt. Um diese unter CentOS zu installieren folgt diesen Schritten

  • Installiert die EPEL Repository, falls diese noch nicht vorhanden ist (mehr dazu hier)
    • wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    • wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
    • sudo rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm
  • yum update
  • yum install php-mcrypt*
  • service httpd restart

Anschließend sollte die mcrypt Erweiterung nun zur Verfügung stehen!

Xcode process launch failed: Security

Wenn bei euch beim starten der App auf einem Gerät in Xcode „process launch failed: Security“ angezeigt wird probiert folgendes:

  • Sucht die installierte App auf dem Homescreen
  • Startet die App
  • Bestätigt im erscheinenden Popup, dass ihr die App wirklich starten wollt

Von nun an solltet ihr die App wieder wie gewohnt über Xcode ausführen können.