2016-12-25 5 views
2

Моего UICollectionView создает некоторые пользовательские UIViews (называемые NumberViews)Добавление UILabel в центре UIView

каждый NumberView имеет атрибут var text: UILabel!, который является меткой и должны быть порожден в середине NumberView.

Что я делаю:

  1. я создаю NumberViews внутри UIViewController

  2. создать метки внутри NumberViews

(1) работает просто отлично, но (2). Он создает ярлык в каком-то странном месте вне NumberView.

Для (2), я делаю это в INIT из NumberView:

var text: UILabel! 

override init(frame: CGRect) { 
    super.init(frame: frame) 
    self.text = UILabel(frame: frame) 
    self.text.textAlignment = NSTextAlignment.center 
    self.text.text = "testing" 
    self.addSubview(self.text) 
} 

и что происходит что-то вроде этого:

   ______________ _ 
       |    | \ 
       |  ______ | | 
NumberView --|--> |  | | | 
       | |______| | | 
       |    | | 
     Label --|----> testing |  > ViewController 
       |    | | 
       |    | | 
       |    | | 
       |    | | 
       |______________| _/ 

Как можно переместить метку к середине NumberView?

ответ

0

Вам нужно добавить привязки компоновки к вашему параметру numberView, чтобы центр.x и center.y были равны метке.

Я сейчас не на своем Mac, но вы должны иметь возможность искать код для создания привязок центральной компоновки.

Быстрый поиск превратили этот сайт:

http://useyourloaf.com/blog/pain-free-constraints-with-layout-anchors/

Вы хотите создать centerXAnchor И в centerYAnchor

+0

может быть, этот сайт не то, что вы намеревались отправить – Daniel

+0

LOL. Не знаю, как мне удалось сделать это * ... (исправлена ​​ссылка) –

Смежные вопросы