2016-06-01 2 views
0

Je travaille sur une application web qui permet aux utilisateurs de personnaliser les champs qu'ils veulent récupérer de leurs utilisateurs. Par exemple, texte, nombres, booléens, popups. Parce que son inconnu la quantité de contrôles dont j'ai besoin a décidé de créer une référence à un scrollview. J'ai essayé d'ajouter un bouton comme test, mais je n'arrive pas à comprendre comment afficher le bouton? Quand je regarde la page, je vois juste blanc.Ajouter dynamiquement divers contrôles à scrollview (iOS/Swift)

Comment ajouter des contrôles dynamiques à une vue défilante?

choses que j'essayé:

  • est fait en sorte AutoLayout correct pour le ScrollView.
  • Le code addSubview ci-dessous.

    import UIKit 
    class TaskDetailViewController: UIViewController { 
    
    
        @IBOutlet weak var theScrollView: UIScrollView! 
    
        override func viewDidLoad() { 
         super.viewDidLoad() 
    
         // Do any additional setup after loading the view. 
         //self.view.addSubview(UIButton) 
    
         let cellButton = UIButton(frame: CGRectMake(5, 5, 50, 30)) 
         cellButton.setTitle("hello", forState: UIControlState.Normal) 
    
         theScrollView.addSubview(cellButton) 
        } 
    
        override func didReceiveMemoryWarning() { 
         super.didReceiveMemoryWarning() 
         // Dispose of any resources that can be recreated. 
        } 
    
    
        /* 
        // MARK: - Navigation 
    
        // In a storyboard-based application, you will often want to do a little preparation before navigation 
        override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
         // Get the new view controller using segue.destinationViewController. 
         // Pass the selected object to the new view controller. 
        } 
        */ 
    
    } 
    

enter image description here

Répondre

0

Il semblerait c'est la bonne façon de le faire. Apparemment, le texte est blanc par défaut, donc je ne pouvais pas voir le bouton.

L'ajout de cette ligne

button.backgroundColor = UIColor.blackColor() 

fait le bouton visible. Comme ma question demande comment ajouter divers contrôles cela peut être fait et toujours suivre les vues autolayout en utilisant des contraintes par programme. Il y a une bonne vidéo sur le sujet ici (https://www.youtube.com/watch?v=Bl_YZLKPg1c), assurez-vous de regarder la partie 1 aussi bien.

+0

lien à la partie 1: https://www.youtube.com/watch?v=TfKv1MYxnA4 – user2875289

0

N'est-ce pas une meilleure pratique d'ajouter un ContainerView sous Scrollview, et de mettre toutes vos sous-vues à l'intérieur de ContainerView?

+0

Est-ce censé être une réponse à la question ou est-ce juste un commentaire? –