2016-08-06 2 views
1

То, что я пытаюсь достичь, находится здесь, в библиотеке this, но единственная проблема в том, что эта библиотека не очень хороша, если количество данных, которые я хочу шоу большогопоказать таблицуView как всплывающее окно (без покрытия всего экрана)

то, что я прямо сейчас:

enter image description here

, как вы можете видеть, это ViewController, который содержит строку и отображается в виде всплывающего окна без покрытия всего экрана

но когда данные строк длинны, тогда я не могу расширить высоту строк, поэтому мои данные обрезают , говорят, что в тексте ярлыка моей первой строки: apple и в тексте ярлыка моей второй строки: Банан - это съедобные плоды, ботанические ягоды, произведенные несколькими видами крупных травянистых цветковых растений в роде Муса. В этом случае вторая строка обрезает текст (и это моя проблема)

Как я могу получить эту многостроку (развернуть высоту строки)? мне нужно что-то создавать самостоятельно или у нас уже есть библиотека для этого? или у меня есть некоторые другие альтернативы, пожалуйста, дайте мне знать

Это то, что я хочу выглядеть так:

enter image description here

+0

Эй, ты проверил мои ан. ? –

ответ

0

Один из моих пред. проект, который я реализовал так, как вам это нужно. Вместо того, чтобы использовать любую библиотеку, мы можем реализовать, как описано выше.

Шаг 1: Сделайте контроллер вида с xib согласно требованию. Как это

enter image description here

Шаг 2: Создание пользовательских ячейки, которые нам нужны в персонализированном оповещении. В этом случае создайте один ярлык, убедитесь, что количество строк, выбранных для этой метки, равно , и дайте ограничения сверху, снизу, слева и справа.

Шаг 3: Теперь в вашем представлении контроллер напишите ниже код.

//MARK: Variable declaration 

    let suggestionsView = SuggestionsVC(nibName: "SuggestionsVC", bundle: nil) 

    var blurEffectView : UIVisualEffectView? 


    //MARK: Show custom view & remove custom view 

    @IBAction func showAlert(sender: AnyObject) 
    { 
     showSuggestionView() 
    } 

    func showSuggestionView() 
    { 

     let blurEffect = UIBlurEffect(style: UIBlurEffectStyle.Dark) 
     blurEffectView = UIVisualEffectView(effect: blurEffect) 
     blurEffectView!.userInteractionEnabled = true 
     blurEffectView!.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.removeSuggestionsView))) 

     if !UIAccessibilityIsReduceTransparencyEnabled() 
     { 
      self.view.backgroundColor = UIColor.clearColor() 

      blurEffectView!.frame = self.view.bounds 


      self.view.addSubview(blurEffectView!) 
     } 
     else 
     { 
      self.view.backgroundColor = UIColor.blackColor() 
     } 

     suggestionsView.view.frame = CGRectMake(30,0, self.view.frame.size.width - 30, 260 
     ) 

     suggestionsView.view.center = CGPointMake((self.view.bounds.width)/2,(self.view.bounds.height)/2) 
     suggestionsView.cancelButton.addTarget(self, action: #selector(self.removeSuggestionsView), forControlEvents: UIControlEvents.TouchUpInside) 
     suggestionsView.confirmButton.addTarget(self, action: #selector(self.removeSuggestionsView), forControlEvents: UIControlEvents.TouchUpInside) 


     suggestionsView.listTableView.registerNib(UINib(nibName: "SampleTableViewCell", bundle: nil), forCellReuseIdentifier: "SampleTableViewCell") 

     suggestionsView.listTableView.estimatedRowHeight = 44.0 

     suggestionsView.listTableView.rowHeight = UITableViewAutomaticDimension 

     self.view.addSubview(suggestionsView.view) 

     suggestionsView.listTableView.dataSource = self 


    } 

    func removeSuggestionsView() 
    { 
     suggestionsView.view.removeFromSuperview() 
     blurEffectView!.removeFromSuperview() 
     self.view.backgroundColor = UIColor.lightGrayColor() 
    } 

    //MARK: TableView DataSource 

    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
    { 
     return 5 
    } 

    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    { 

     let cell: SampleTableViewCell = (tableView.dequeueReusableCellWithIdentifier("SampleTableViewCell") as? SampleTableViewCell)! 

     if indexPath.row % 2 == 0 
     { 
      cell.sampleText.text = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa." 
     } 
     else 
     { 
      cell.sampleText.text = "Lorem ipsum " 
     } 
     return cell 
    } 

Кроме того, вы можете настроить blurEffect и анимацию для отображения вышеуказанного вида. Я надеюсь, что это поможет вам. Это будет выглядеть так.

enter image description here

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