2014-07-10 11 views
6

In Android kann ich Linien zeichnen, indem einfach das Erstellen einer Ansicht und Einstellung seiner HintergrundfarbeZeichnen von Linien in iOS Storyboard ähnlich wie Android XML-Linien

<LinearLayout...> 
... 
<View android:layout_width="1dp" 
    android:layout_height="match_parent" 
    android:background="@color/black" 
... 
<View android:layout_width="match_parent" 
    android:layout_height="2dp" 
    android:background="@color/red" 
... 
</LinearLayout> 

Dies ist eine gängige Praxis in Android. Wie kann ich das gleiche in iOS machen? Was ist die übliche Praxis? Ich sehe hier eine andere Frage, die versucht, eine ähnliche Frage zu stellen, wurde aber angewiesen, ein TableView zu verwenden. Ich suche nach etwas so einfach und so allgemein wie die Android-Antwort.

+1

ich die unten Stimme zu sehen. Aber ich wollte nicht davon ausgehen, dass die Android-Antwort die iOS-Antwort war: Wie ich feststellen muss, ist iOS viel freundlicher und vollständiger als Android - um es milde auszudrücken. –

Antwort

23

Sie können eine generische UIView erstellen und seine width oder height auf 1 pt in einem Storyboard festgelegt. Stellen Sie backgroundColor auf die gewünschte Zeile ein. Stellen Sie sicher, dass Sie die Beschränkungen oder die Größe der Maske so festlegen, dass sie bei der Größenänderung des Bildschirms nicht in der Breite/Höhe wächst.

4

Die gleiche genaue Sache. Verwenden Sie eine UIView mit einer geringen Breite und stellen Sie die Hintergrundfarbe auf die gewünschte Farbe ein.

+0

danke für die Hilfe. +1 –

9
UIView *lineView = [[UIView alloc]init]; 
lineView.frame = CGRectMake(0,50,self.View.frame.size.width,1); 
lineView.backgroundColor = [UIColor blackColor]; 
[self.view addSubview:lineView]; 

Nehmen Sie diese einfache Sicht in Code erstellt und nur seine Höhe Genau wie in dem obigen Code durch 1 oder 2 einstellen -> lineView.frame = CGRectMake (< #CGFloat x #>, < #CGFloat y #> , < #CGFlottenbreite #>, < #CGFloat height #>); CGFloat Höhe genommen ist 1

1

// Linie zeichnen in uiview Klasse

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetLineWidth(context, 1.0); 
CGContextSetStrokeColorWithColor(context, [[UIColor whiteColor] CGColor]); 
CGContextMoveToPoint(context, xstartPoint, yStart); 
CGContextAddLineToPoint(context, xstartPoint, yBottom); 
CGContextStrokePath(context); 
CGContextSaveGState(context); 
+0

Dies benötigt eine Erklärung. Vermutlich geht dieser Code in die 'drawRect:' Methode Ihrer benutzerdefinierten Unterklasse von UIView. – ToolmakerSteve