2016-04-08 4 views
0

Ich verwende diesen Code, um die Position für alle meine Geräte korrekt einzustellen. Das Problem, das ich habe, ist, wenn ich die Position des Schiebers in den 4s die iPhone 6+ Position verändere. Das Gleiche gilt für meine anderen Geräte. Wie bekomme ich jedes Gerät, um die Schieberegler perfekt zu positionieren? Ich bin in Spritekit btw.Haben Sie Schwierigkeiten, die Position von UISlider in Spritekit für alle Geräte festzulegen?

//iphone4s 
if UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.maxLength < 568.0 { 
    middleSlider = UISlider(frame: CGRectMake(180, 50, 150, 20)) 
    middleSlider.tintColor = UIColor.whiteColor() 
    middleSlider.setThumbImage(UIImage(named: "thumb2"), forState: UIControlState.Normal) 
    self.view?.addSubview(middleSlider) 
    bottomAudioControlBg.position = CGPointMake(self.size.width/2, self.size.height/7) 

} 



//iphone5 
if UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.maxLength == 568.0 { 

} 



//iphone6 
if UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.maxLength == 667.0 { 

} 



//iphone6+ 
if UIDevice.currentDevice().userInterfaceIdiom == .Phone && ScreenSize.maxLength == 736.0 { 
    middleSlider = UISlider(frame: CGRectMake(255, 50, 150, 20)) 
    middleSlider.tintColor = UIColor.whiteColor() 
    middleSlider.setThumbImage(UIImage(named: "thumb2"), forState: UIControlState.Normal) 
    self.view?.addSubview(middleSlider) 


} 




//ipad 
if UIDevice.currentDevice().userInterfaceIdiom == .Pad && ScreenSize.maxLength == 1024.0 { 

} 



//ipadpro 
if UIDevice.currentDevice().userInterfaceIdiom == .Pad && ScreenSize.maxLength == 1366.0 { 

} 

Antwort

1

Das ist viel zu viel Code für ein solches Problem :)

eine einfache Skalierung-Faktor Verwenden Sie diese leicht lösen können:

let scaleFactor = UIScreen.mainScreen().bounds.width/320 

     let middleSlider = UISlider(frame: CGRectMake(180 * scaleFactor, 50, 150, 20)) 
     middleSlider.tintColor = UIColor.whiteColor() 
     middleSlider.setThumbImage(UIImage(named: "thumb2"), forState: UIControlState.Normal) 
     self.view?.addSubview(middleSlider) 
+0

in Ordnung, das funktioniert. Vielen Dank! – coding22

+0

Ich habe eine Frage, wird dies auch für das iPad funktionieren? – coding22

+0

Ich habe es für das iPad versucht und die Schieberegler sind nicht in der richtigen Position wie im iPhone. – coding22

Verwandte Themen