2016-08-24 3 views
0

Ich programmiere eine Taste zu meinem swift Spriest Projekt. aber die Position der Schaltfläche ist verpfuscht. Ich möchte, dass es in der Mitte ist, aber es ist ein zufälliger Ort.Swift CGRectMake Center Knopf

let button = UIButton(type: .System) // let preferred over var here 
button.frame = CGRectMake(self.frame.width/2, self.frame.height/2, 100, 50) 
print(self.frame.height/2) 
button.backgroundColor = UIColor.greenColor() 
button.setTitle("Button", forState: UIControlState.Normal) 
self.view!.addSubview(button) 

Ich weiß nicht, warum es mit einem CGPoint tut es funktioniert, aber ich kann keine CGPoint hier verwenden.

+0

sieht aus wie Sie den Rahmen Ausgangspunkt sind vermisst. Sollte es nicht CGRectMake sein (self.frame.origin.x + self.frame.width/2 ...? – LiMar

+0

Hmm IDK lass es mich versuchen. – HeeysamH

+0

Was ist self.frame.origin was zeigt es? – HeeysamH

Antwort

2

Try this ...

button.frame = CGRectMake(
    self.view.center.x - (WidthOfButton/2), 
    self.view.center.y - (HeightOfButton/2), 
    WidthOfButton, 
    HeightOfButton) 
+0

Vielen Dank Mate This Worked! – HeeysamH

0

Haben Sie es versucht ...?

button.frame = CGRectMake((self.frame.width-100)/2, (self.frame.height - 50)/ 2, 100, 50) 

aktualisieren diese auch in Ihrem viewWillAppear Methode

+0

das hat nicht funktioniert – HeeysamH

+0

'self.frame. size.width' und 'self.frame.size.height' vielleicht? –

0

Try this !!!!

button.frame = CGRectMake((self.view.frame.width - 100)/2, (self.view.frame.height - 50)/2, 100, 50) 
+0

Wert des Typs 'GameScene' hat kein Mitglied 'center' – HeeysamH

1

versuchen diese

let button = UIButton(type: .System) // let preferred over var here 
    button.frame = CGRectMake(self.view.frame.width/2-(widthOfButton/2), self.view.frame.height/2-(HeightOfButton/2), 100, 50) 
    button.backgroundColor = UIColor.greenColor() 
    button.setTitle("Button", forState: UIControlState.Normal) 
    self.view!.addSubview(button) 
Verwandte Themen