Files
IQKeyboardManager/Demo/Objective_C_Demo/ViewController/TextViewSpecialCaseViewController.m
hackiftekhar 6becc06ca3 - Converted Obj-C demo with Autolayout
- Enhanced demo project and added various examples demonstrating almost all properties of library.
- Enhanced library Settings Controller.
- Moved some contents of README.md file to other files.
2016-05-22 23:13:04 +05:30

104 lines
2.9 KiB
Objective-C

//
// TextViewSpecialCaseViewController.m
// KeyboardTextFieldDemo
#import "TextViewSpecialCaseViewController.h"
#import "IQKeyboardManager.h"
@interface TextViewSpecialCaseViewController ()<UIPopoverPresentationControllerDelegate>
@end
@implementation TextViewSpecialCaseViewController
#pragma mark - View lifecycle
- (void)viewDidLoad
{
[super viewDidLoad];
if (!self.navigationController)
{
[buttonPush setHidden:YES];
[buttonPresent setTitle:@"Dismiss" forState:UIControlStateNormal];
}
}
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"])
[textView resignFirstResponder];
return YES;
}
- (IBAction)presentClicked:(id)sender
{
@try {
if (self.navigationController)
{
TextViewSpecialCaseViewController *controller = [[TextViewSpecialCaseViewController alloc] init];
[controller setModalTransitionStyle:arc4random()%4];
// TransitionStylePartialCurl can only be presented by FullScreen style.
if (controller.modalTransitionStyle == UIModalTransitionStylePartialCurl)
controller.modalPresentationStyle = UIModalPresentationFullScreen;
else
controller.modalPresentationStyle = arc4random()%4;
[self presentViewController:controller animated:YES completion:nil];
}
else
{
[self dismissViewControllerAnimated:YES completion:nil];
}
}
@catch (NSException *exception) {
NSLog(@"Exception:%@",exception);
}
@finally {
}
}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"SettingsNavigationController"])
{
segue.destinationViewController.modalPresentationStyle = UIModalPresentationPopover;
segue.destinationViewController.popoverPresentationController.barButtonItem = sender;
CGFloat heightWidth = MAX(CGRectGetWidth([[UIScreen mainScreen] bounds]), CGRectGetHeight([[UIScreen mainScreen] bounds]));
segue.destinationViewController.preferredContentSize = CGSizeMake(heightWidth, heightWidth);
segue.destinationViewController.popoverPresentationController.delegate = self;
}
}
- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller
{
return UIModalPresentationNone;
}
-(void)prepareForPopoverPresentation:(UIPopoverPresentationController *)popoverPresentationController
{
[self.view endEditing:YES];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
- (BOOL)shouldAutorotate
{
return YES;
}
@end