2015-01-16 2 views
0

Поскольку очень не рекомендуется использовать Лист действия для элементов управления наложением, я в настоящее время пытаюсь имитировать его с помощью своего собственного поднабора, но каким-то образом не отображаются отображающие компоненты?swift/ios8: mimick действие поведение листа

код:

@IBAction func showActionSheet(sender: AnyObject) { 

     println("SHOW STUFF") 
     let newView:UIView = UIView() 
     let myColor:UIColor = UIColor(red:255.0, green:255.0, blue:255.0, alpha:0.6) 

     newView.frame = CGRectMake(0, 0, self.view.frame.width, self.view.frame.height) 
     newView.backgroundColor = myColor 
     view.addSubview(newView) 


     var pickerFrame: CGRect = CGRectMake(0, self.view.frame.height-(self.view.frame.height+self.view.frame.height-200), self.view.frame.width-20, self.view.frame.height/2) 
     var picker: UIDatePicker = UIDatePicker(frame: pickerFrame); 
     picker.backgroundColor = UIColor.whiteColor() 
     view.addSubview(picker) 

     var okButton = UIButton() 
     okButton.titleLabel?.text = "Ok" 
     okButton.backgroundColor = UIColor.whiteColor() 
     okButton.frame = CGRectMake(0 , self.view.frame.width-160, self.view.frame.width, 80) 

     var cancelButton = UIButton() 
     cancelButton.titleLabel?.text = "Abbrechen" 
     cancelButton.backgroundColor = UIColor.whiteColor() 
     cancelButton.frame = CGRectMake(0 , self.view.frame.width-80, self.view.frame.width, 800) 

     view.addSubview(okButton) 
     view.addSubview(cancelButton) 

     let secondView:UIView = UIView() 

     secondView.frame = CGRectMake(0, 200, self.view.frame.width, self.view.frame.height) 
     secondView.backgroundColor = UIColor.grayColor() 
     view.addSubview(secondView) 


    } 

secondView только для целей тестирования - это втянуться нормально, но почему-то мои управления обыкновение быть

ответ

0

Вы не добавлять элементы управления newView представление, которое находится над старый вид. Также кнопки слишком большие и белые. Попробуйте этот код. Это сделает их видимыми. Отрегулируйте их высоту в соответствии с рамкой просмотра, а затем установите цвет назад. Я просто изменил цвета фона, чтобы получить представление о кадре. Также позвоните UIButton.setTitle(:forState:), чтобы установить заголовок кнопок.

@IBAction func showActionSheet(sender: AnyObject) { 

    println("SHOW STUFF") 
    let newView:UIView = UIView(frame: CGRectMake(0, 0, self.view.frame.width, self.view.frame.height)) 
    let myColor:UIColor = UIColor(red:255.0, green:255.0, blue:0, alpha:0.6) 

    newView.backgroundColor = myColor 
    view.addSubview(newView) 


    var pickerFrame: CGRect = CGRectMake(0, 0, self.view.frame.width-20, 200) 
    var picker: UIDatePicker = UIDatePicker(frame: pickerFrame); 
    picker.backgroundColor = UIColor.redColor() 
    newView.addSubview(picker) 

    var okButton = UIButton() 
    okButton.setTitle("Ok", forState: UIControlState.Normal) 
    okButton.setTitle("Ok", forState: UIControlState.Highlighted) 
    okButton.backgroundColor = UIColor.greenColor() 
    okButton.frame = CGRectMake(0 , self.view.frame.width-160, self.view.frame.width, 80) 

    var cancelButton = UIButton() 
    cancelButton.setTitle("Abbrechen", forState: UIControlState.Normal) 
    cancelButton.setTitle("Abbrechen", forState: UIControlState.Highlighted) 
    cancelButton.backgroundColor = UIColor.blueColor() 
    cancelButton.frame = CGRectMake(0 , self.view.frame.width-80, self.view.frame.width, 200) 

    newView.addSubview(okButton) 
    newView.addSubview(cancelButton) 

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