2016-05-04 14 views
1

Ich habe die Rahmenfarbe UIView unter Verwendung von User Defined Runtime Attributes in identity inspector festgelegt. Standardmäßig ist die Farbe BlackColor. Wenn Einschränkungen in iOS verfügbar sind, dann sag es mir.So legen Sie die Rahmenfarbe von UIView zur Laufzeit fest

+0

was meinen Sie mit Laufzeitbeschränkungen? –

+0

http://stackoverflow.com/questions/14792238/uiviews-border-color-in-interface-builder-doesnt-work –

Antwort

0

bitte diesen Code versuchen,

ViewController.h

erklären

@property (weak, nonatomic) IBOutlet UIView *searchView;

In ViewController.m

viewDidLoad Methode:

searchView.layer.cornerRadius = 8.0f; 
    searchView.layer.borderColor = [UIColor lightGrayColor].CGColor; 
    searchView.layer.borderWidth = 0.8f; 
    searchView.layer.shadowColor = [UIColor lightGrayColor].CGColor; 
    searchView.layer.shadowOpacity = 0.8f; 
    searchView.layer.shadowRadius = 3.0f; 
    searchView.layer.shadowOffset =CGSizeMake(2.0f, 2.0f); 

hoffe, es ist hilfreich.

+0

Aber ich habe borderColor mit Runtime Constraints hinzufügen müssen. Das ist keine richtige Antwort für mich. –

+0

siehe den Link, es zeigte deutlich, dass Sie brauchen, https://spin.atomicobject.com/2014/05/30/xcode-runtime-attributes/ –

2

Sie wie Randfarbe festlegen können,

yourView.layer.borderColor = [UIColor orangeColor].CGColor; 
yourView.layer.borderWidth = 1.0; //you have to give width to make border visible 

-Update gemäß Kommentar:

Sie Runtime-Ansicht verwenden können wie unten Screenshot Attribute für,

enter image description here

Aber Es wird schwarze Grenze angezeigt, weil layer uses cgcolor und Sie können nicht erhalten cg Farbreferenz im Interface Builder. Daher können Sie die Layerfarbe nicht direkt als Laufzeitattribut festlegen. Es ist besser, den Code wie oben erwähnt einzustellen.

Wenn Sie die Farbe nur selten vom Laufzeitattribut festlegen möchten, können Sie versuchen Peter Deweese's answer.

Hope this helfen :)

+0

Aber ich habe borderColor mit Runtime Constraints hinzufügen müssen. Das ist keine richtige Antwort für mich. –

+0

bedeutet? Was genau willst du? erkläre es, weil ich dein Bedürfnis nicht bekomme! – Lion

+0

In XCode -> Attribute Inspector -> Benutzerdefinierte Laufzeitattribute -> hier können wir auch Constraints für die View setzen. –

2

Diese Arbeit wird -

UIView *view = [[UIView alloc] init]; 
    ... 
    //Add a Your Color border 
    view.layer.borderColor = [UIColor colorWithWhite:1.0f alpha:1.0f].CGColor; 
    view.layer.borderWidth = 1.0f; //make border 1px thick 
0

diesen Code versuchen, es wird Ihnen helfen:

yourViewNAme.layer.borderWidth = 1; 
    yourViewNAme.layer.borderColor = [UIColor DesiredColour].CGColor; 
+0

Aber ich habe borderColor mit Runtime Constraints hinzufügen müssen. Das ist keine richtige Antwort für mich. –