2015-09-01 3 views
0

обычно я беру раскадровку в своих проектах и ​​и кладу просматривать объекты, такие как кнопки, этикетки и т.д., написав в виду, как ниже:Авторазмер просмотр объектов для различных размеров экрана

class welcomeScreen : UIView { 

let btn : UIButton! 
override func viewLoad(){ 
self.backgroundColor = UIColor.whiteColor() 
//define frame for Button 
btn = UIButton(frame : self.screenAutoLayoutCalc(19.32,42.44,64.73, 15.73)) 
btn.setTitle ("submit",.Normal) 
btn.backgroundColor = UIColor.grayColor() 
//add to view 
self.addSubview(btn) 
} 

//calculate object x, y, width and height based by bounds size 
func screenAutoLayoutCalc(x:CGFloat,y:CGFloat,w:CGFloat,h:CGFloat) { 

let screenSize : CGRect = self.bounds 
let returnCG : CGRect = CGRect() 
returnCG.origin.x = round((screenSize.width * x)/100) 
returnCG.origin.y = round((screenSize.height * x)/100) 
returnCG.size.width = round((screenSize.width * w)/100) 
returnCG.size.height = round((screenSize.height * h)/100) 
return returnCG 


} 
} 

Я хотел бы знать, , есть ли другой способ сделать отзывчивый дизайн в iOS (быстром) программировании?

ответ

0

Существует несколько способов достижения адаптивности визуальных элементов в вашем приложении. Вам нужно будет узнать о Size Classes

Люди обычно хотят использовать свои любимые приложения на всех своих устройствах и в любой ориентации. В iOS 8 и более поздних версиях вы используете классы размеров и автоматический макет, чтобы помочь вам выполнить это ожидание, указав, как макет экранов, контроллеров представлений и представлений должен адаптироваться при изменении среды отображения.

и NSLayoutConstraints.

Ограничение определяет взаимосвязь между двумя объектами пользовательского интерфейса, которые должны удовлетворять системе компоновки на основе ограничений.

Я бы порекомендовал изучать основные классы и ограничения размера с помощью раскадровки, а затем медленно работал над тем, как писать код, а не щелкать и перетаскивать внутри раскадровки.

Я бы порекомендовал вам прочитать это tutorial для ознакомления.