Code Monkey home page Code Monkey logo

mtpopupwindow's Introduction

MTPopupWindow

MTPopupWindow is an Objective-C class, which allows the programmer to show a popup style window within an iOS application. The class uses Quartz2D to draw the popup and the buttons needed for the UI, so it is fully compatible with Auto Layout.

This class requires iOS6+ as it uses layout constraints.

The popup window is useful to show terms&conditions, about screens, or embeded web pages within an app. The popup is designed to show HTML content - from a local for the app html file (+ local images) or a remote HTML web page.

GitHub Logo GitHub Logo

MTPopupWindow announce post + source code examples:

http://touch-code-magazine.com/showing-a-popup-window-in-ios6-modernized-tutorial-code-download/

Code samples:

Short source code example:

#import "MTPopupWindow.h"
...
[MTPopupWindow showWindowWithHTMLFile:@"info.html"];

This 1-liner will load the info.html from the app Resources directory and show it in a popup window maximized in the app window.

To specify in which view the popup window should appear, use this code:

#import "MTPopupWindow.h"
...
MTPopupWindow* winPop = [[MTPopupWindow alloc] init];
winPop.fileName = @"info.html";
[winPop showInView:self.view];

mtpopupwindow's People

Contributors

icanzilb avatar nalyd88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mtpopupwindow's Issues

Show image from url

Hi,
I need help to show an image from a URL in the popup window.
could you please help with the code?

Crash if trying to show in TableViewController

Hi,
can anyone help. Tried to call the MTPopupWindow in a TableViewController.
Getting this error:

*** Assertion failure in -[UITableView layoutSublayersOfLayer:], 
/SourceCache/UIKit_Sim/UIKit-2903.23/UIView.m:8540
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: 'Auto Layout still required after executing -layoutSubviews. 
UITableView's implementation of -layoutSubviews needs to call super.'

not immediately appearance of Pop Up

Hi, I am using your lib, on Swift. And I have issue related to your pop up.some times pop up not immediately appearing. just after 1 min or in case user repeats action, only then appears. what i can do?

Crashes on latest Xcode / iOS

Just rebuilt my project with the latest Xcode (Version 6.3.1 (6D1002)) and when I call

[MTPopupWindow showWindowWithHTMLFile:@"http://www..."];

the app bombs out with the exception:

* Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* +[NSLayoutConstraint constraintWithItem:attribute:relatedBy:toItem:attribute:multiplier:constant:]: A multiplier of 0 or a nil second item together with a location for the first attribute creates an illegal constraint of a location equal to a constant. Location attributes must be specified in pairs'
*** First throw call stack:
(0x22ce6fef 0x31234c8b 0x22ce6f35 0x23ae36cb 0x239a585b 0xa76b9 0xa60d5 0x908fb 0x2645256b 0x2650143b 0x263b6a91 0x2633138f 0x22cacfed 0x22caa6ab 0x22caaab3 0x22bf7201 0x22bf7013 0x2a4d6201 0x2639ba59 0x8bdf5 0x317c0aaf)
libc++abi.dylib: terminating with uncaught exception of type NSException

Anyone got any suggestions, it's been fine up till now :-(

Thanks.

Fix view of content from local files

in the showInView function add below.

else if ([self.fileName hasPrefix:@"/"]) {
//load a local file
NSError* error = nil;

    NSString* fileAtPath = self.fileName;

    NSString* fileContents = [NSString stringWithContentsOfFile:fileAtPath encoding:NSUTF8StringEncoding error: &error];

    if (error!=NULL) {
        NSLog(@"error loading %@: %@", self.fileName, [error localizedDescription]);
    } else {
        [self.webView loadHTMLString: fileContents baseURL:[[NSBundle mainBundle] resourceURL]];
    }

Scaling issue, behavior of contentSize changed in iOS7

Scaling of MTPopupWindow broken since iOS7.

Got it working by changing the resizing code in -(void)doTransitionWithDictionary:(NSDictionary *)dictionary

to following code:

UITextView* textViewToMeasureWith = [[UITextView alloc] initWithFrame:CGRectZero];
[textViewToMeasureWith setFont:[UIFont systemFontOfSize:16]];
[textViewToMeasureWith setText:[dictionary objectForKey:kMessage]];

CGFloat height = [textViewToMeasureWith sizeThatFits:CGSizeMake(290, CGFLOAT_MAX)].height;
[textViewToMeasureWith release];

CGRect newFrame = messageTextView.frame;
// Set the textView frame to the proper size
if (height > 380)
{
    newFrame.size.height = 380;
    [messageTextView setScrollEnabled:YES];
}
else
{
    newFrame.size.height = height;
    [messageTextView setScrollEnabled:NO];
}
messageTextView.frame = newFrame;

close button action method not working crash when i click the button.

I have used your code same as it but it crashed when i click the close button.
[closeBtn addTarget:self action:@selector(closePopupWindow) forControlEvents:UIControlEventTouchUpInside];

i didn't change the closePopupWindow method

-(void)closePopupWindow
{
//remove the shade
[[bigPanelView viewWithTag: kShadeViewTag] removeFromSuperview];
[self performSelector:@selector(closePopupWindowAnimate) withObject:nil afterDelay:0.1];

}

but it works when i call the function like
[self closePopupWindow];

error:
[__NSCFArray closePopupWindow]: unrecognized selector sent to instance llb

please give me the suggestions where i went wrong

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.