2015-06-19 2 views
0

Я пытаюсь сделать простую задачу создания индикатора активности с меткой, которая говорит: «загрузка» или «сохранение» или что-то, что я запрограммировал, чтобы сказать, когда она работает. Кажется, я не могу понять, как заставить его быть под моим индикатором активности, хотя сейчас он находится прямо рядом с ним, и я хочу быть расположенным ниже него.Индикатор Swift активности и метка

Вот мой код:

public func show(viewController : UIViewController) { 
    Async.main { 
     self.spinner = UIActivityIndicatorView(frame: CGRectMake(0, 0, self.size, self.size)) 
     self.activityLabel = UILabel(frame: CGRectMake(0,0,200,200)) 
     if let spinner = self.spinner { 
      spinner.activityIndicatorViewStyle = self.style 
      let screenSize: CGRect = UIScreen.mainScreen().bounds 
      spinner.center = CGPoint (x: screenSize.width/2 , y: screenSize.height/2) 
      spinner.hidesWhenStopped = true 
      viewController.view.addSubview(spinner) 
      spinner.startAnimating() 
      self.activityLabel?.center = CGPoint (x: screenSize.width/2 , y: screenSize.height/1.9 ) 
      self.activityLabel?.text = self.textmessage 
      viewController.view.addSubview(self.activityLabel!) 
     } 
    } 
} 

Спасибо за любую помощь!

+1

Вы должны использовать автозапуск для точного размещения. И вы используете центр, вы можете использовать фрейм вместо упрощенных вычислений. – Sandeep

ответ

1

Я думаю, что проблема, с которой вы сталкиваетесь с несоответствующей меткой, заключается в том, что вы не установили textAlignment наклейки на .center. Вам необходимо добавить:

self.activityLabel.textAlignment = .center 

Это должно помещать текст внутри этикетки непосредственно под прядильщик.

+0

Большое вам спасибо, что исправил это! –

+0

Рад, что это сработало. – dudeman

+0

@SOlson Затем примите этот ответ, пожалуйста, thx! – Sulfkain

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