UIView
içinde bir UIButton
var, benim UIButton
benim storyboard içinde ayarladığım kısıtlamaları vardır. Şimdi, UIButton
'un merkezini UIView
'un ortasına ayarlamak istiyorum. Bunu programlı olarak nasıl yapacağım?Programlanabilir bir uibutton ortasını ayarlayın - SWIFT
cevap
Bu yaklaşım, self.cenBut düğmeniz için IBoutlet öğesinin kullanıldığı NSLayoutConstraint Kullanımı'nı kullanıyor.
viewDidLoad yılındafunc setupConstraints() {
let centerX = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.CenterX, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterX, multiplier: 1, constant: 0)
let centerY = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.CenterY, relatedBy: NSLayoutRelation.Equal, toItem: self.view, attribute: NSLayoutAttribute.CenterY, multiplier: 1, constant: 0)
let height = NSLayoutConstraint(item: self.cenBut, attribute: NSLayoutAttribute.Height, relatedBy: NSLayoutRelation.Equal, toItem: nil, attribute: NSLayoutAttribute.NotAnAttribute, multiplier: 1, constant: 22)
self.cenBut.translatesAutoresizingMaskIntoConstraints = false
self.view.addConstraints([centerX, centerY, height])
}
()
self.view.removeConstraints(self.view.constraints)
self.setupConstraints()
Eğer gerekiyorsa Ayrıca x
ve y
belirtebilirsiniz
myButton.center = self.view.center
gibi .center
özelliğini deneyin.
myButton.center.x = self.view.center.x // for horizontal
myButton.center.y = self.view.center.y // for vertical
Ben
yourButton.setCenter(self.view.center);
olmalıdır Ama programlı bir bakış çerçevesi ayarlarsanız amaçlandığı gibi, sizin düzen kısıtlamaları çalışmayabilir unutmayın.
sen kısıtlamaları kullanılarak verildiği için, siz de merkezini ayarlamak için kısıtlamaları kullanmak gerekir böylece merkezini ayarlamak mümkün olmayacaktır:
let centerYCon = NSLayoutConstraint(item: labelMessage,
attribute: .CenterY,
relatedBy: .Equal,
toItem: contentView,
attribute: .CenterY,
multiplier: 1.0,
constant: 0.0);
contentView.addConstraint(centerYCon);
let centerXCon = NSLayoutConstraint(item: labelMessage,
attribute: .CenterX,
relatedBy: .Equal,
toItem: contentView,
attribute: .CenterX,
multiplier: 1.0,
constant: 0.0);
contentView.addConstraint(centerXCon);
size ne "programlı biliyoruz ki tahmin ediyorum "autolayout kısıtlamaları ile anlamına gelir. Eğer gerçekten autolayout kullanıyorsanız, butonunuzun özelliklerini setTranslatesAutoresizingMaskIntoConstraints öğesini false olarak ayarlamanız gerekir.
teşekkürler, nasıl false setTranslatesAutoresizingMaskIntoConstraints ayarlayacaktır? –
Zaten bunu deneyin ama bana hala bir hata veriyor –
hata nedir? – Loxx
- 1. Swift 3'teki UIButton Dolgusu
- 2. Swift: Hız için ayarlayın Hız
- 3. UIButton
- 4. Bir mesaj nasıl programlanabilir?
- 5. Programlanabilir bir şekilde log4net
- 6. Google maps - yakınlaştırırken ortasını değiştir
- 7. Android ActionBar'ın programlanabilir bir sonraki programlanabilir denetimli denetimi nasıl yapılır
- 8. UIButton
- 9. UIButton
- 10. UIButton
- 11. döndürün UIButton 360 derece - Ben bunu ancak, benim UIButton 360 derece döner bir animasyon çalıştırmak çalışıyorlar
- 12. Wordnet hiyerarşisine nasıl programlanabilir?
- 13. EkimCMS'de tema nasıl programlanabilir?
- 14. Swift
- 15. iOS, UIButton
- 16. Swift
- 17. Elle kullanarak bir UIButton devlet
- 18. Web.xml'yi programlanabilir bir şekilde başlatmaya başladı jetty
- 19. UIButton seçilen üzerinde vurgulayarak değil
- 20. Swift
- 21. Swift
- 22. Genişletilmiş UIButton kenarlığı başlangıçta çizilmiyor
- 23. Arabirim Oluşturucusundaki UIButton Üzerindeki Vibrancy Etkisi
- 24. Özel UIButton image iOS
- 25. UIButton TouchUpInside Dokunma Konumu
- 26. UIButton Dokun ve Tut
- 27. Arama yöntemi UIButton
- 28. Değişim UIButton tipi programlı
- 29. Özel UIButton işaretlendiğinde vurgulamıyor
- 30. ios5: delete UIButton border
da denedim ama bana bir hata veriyor, yine de yardım için teşekkürler! –