iPhone : How to display popup view like controller with image in iPhone?

前端 未结 3 1425
刺人心
刺人心 2021-02-04 17:30

I want to display small popup view (just like popup view in iPad but here I want in iPhone) in iPhone with image.

How can I do that ?

相关标签:
3条回答
  • 2021-02-04 18:08

    @devang you would certainly appreciate this http://iosdevelopertips.com/open-source/ios-open-source-popover-api-for-iphone-wepopover.html

    The other approach is what Mehul suggested. Do let us know if you come across something which corresponds to UIPopover in iPad.

    0 讨论(0)
  • 2021-02-04 18:13

    You can take UIView dynamically and then add UIImageView in this UIView just like this

        UIView *tmpView = [[UIView alloc] initWithFrame:CGRectMake(XPosition, YPosition, Width, Height)];       
        UIImage *tmpImg = [UIImage imageNamed:@"YourImageName.png"];
        UIImageView *tmpImgView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, tmpImg.size.width, tmpImg.size.height)];
        tmpImgView.image = tmpImg;
        [self.view addSubview:tmpView];
    

    Hope this will Work....

    0 讨论(0)
  • 2021-02-04 18:33

    Collectionview Can be popUp on screen. Below is complete code for showing collectionview as popup and hiding the popup window

    import UIKit
    
    class ViewController: UIViewController , UICollectionViewDataSource, UICollectionViewDelegate  {
    
        //let popView = UICollectionView.init(frame: CGRect(x:8,y:30,width:304,height:200))
    
        var demoCollectionView:UICollectionView? = nil;
    
        @IBOutlet var button: UIButton!
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            self.loadColorCollectionView()
    
        }
    
        func loadColorCollectionView() {
            let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
            layout.sectionInset = UIEdgeInsets(top: 20, left: 10, bottom: 10, right: 10)
            layout.itemSize = CGSize(width: 30, height: 30)
    
            demoCollectionView = UICollectionView(frame: CGRect(x:8,y:20,width:304,height:200), collectionViewLayout: layout)
    
    
            demoCollectionView?.dataSource = self
            demoCollectionView?.delegate = self
            demoCollectionView?.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "Cell")
            demoCollectionView?.backgroundColor = UIColor.white
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
        func numberOfSections(in collectionView: UICollectionView) -> Int {
            return 1;
        }
    
        func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
            return 200;
        }
    
        func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
            let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath);
    
            if indexPath.row%2 == 0 {
            cell.backgroundColor = UIColor.red;
            }
            else{
                cell.backgroundColor = UIColor.blue;
            }
            return cell;
        }
    
        func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    
            guard let statusBar = UIApplication.shared.value(forKeyPath: "statusBarWindow.statusBar") as? UIView else { return }
    
            if indexPath.row%2 == 0 {
                statusBar.backgroundColor = UIColor.red;
            }
            else{
                statusBar.backgroundColor = UIColor.blue;
            }
            self.demoCollectionView?.removeFromSuperview()
    
        }
    
        @IBAction func showMessage() {
    
            //popView.backgroundColor = UIColor.darkGray;
            //self.view.addSubview(popView)
    
    
            self.view.addSubview(demoCollectionView!)
        }
    
        override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
            //self.popView.removeFromSuperview()
            self.demoCollectionView?.removeFromSuperview()
    
    
        }
    
    }
    

    I created a button in Viewcontroller and called showMessage() function on button click it will pop up a collectionview with colors. On select of color popup will disapear.

    0 讨论(0)
提交回复
热议问题