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 ?
@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.
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....
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.