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: 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.

Cocoapods mit OS X 10.10

Wenn bei euch unter OS X 10.10 bei Cocoapods auch folgender Fehler erscheint:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- xcodeproj/prebuilt/universal.x86_64-darwin14-2.0.0/xcodeproj_ext (LoadError)

Versucht folgendes:

  1.  Öffnet Xcode 6
  2. Wählt in den Einstellungen den Punkt “Locations” aus.
  3. Selektiert Version 6.0 (.1) der Command Line Tools
  4. Öffnet Terminal und führt nacheinander folgende Befehle aus:

    sudo gem uninstall cocoapods

    sudo gem uninstall xcodeproj

    sudo gem install xcodeproj

    sudo gem install cocoapods

  5. Überprüft dann mit pod --version oder pod install, ob alles wieder wie gewohnt funktioniert

Xcode Zeilennummern anzeigen

In Xcode sind die Zeilennummern standardmäßig ausgeschaltet. Um diese anzuzeigen macht folgendes:

  • Geht oben auf Xcode
  • Wählt “Preferences” an
  • Selektiert “Text Editing”
  • Setzt den Haken bei Show line Numbers

Von nun an bekommt ihr links im Editor die Zeilennummern angezeigt.

UILabel mehrere zeilen

Um in einem UILabel mehrere Zeilen Text zu ermöglichen fügt einfach die folgenden zwei Zeilen in euren Code ein:

myLabel.lineBreakMode = NSLineBreakByWordWrapping;
myLabel.numberOfLines = 0;

Dies funktioniert auf allen Geräten mit iOS Version 7 und neuer.Für ältere iOS Versionen existiert ebenfalls eine Lösung.

Dazu benutzt folgende Codezeilen:

myLabel.lineBreakMode = UILineBreakModeWordWrap;
myLabel.numberOfLines = 0;