bzr branch
/browse/iphone/tappity
| Line | Revision | Contents |
| 1 | 46 | /* |
| 2 | File: SimpleEditViewController.m |
|
| 3 | Abstract: View controller which allows the user to enter a small amount of text. |
|
| 4 | ||
| 5 | Version: 2.8 |
|
| 6 | |
|
| 7 | Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple |
|
| 8 | Inc. ("Apple") in consideration of your agreement to the following |
|
| 9 | terms, and your use, installation, modification or redistribution of |
|
| 10 | this Apple software constitutes acceptance of these terms. If you do |
|
| 11 | not agree with these terms, please do not use, install, modify or |
|
| 12 | redistribute this Apple software. |
|
| 13 | |
|
| 14 | In consideration of your agreement to abide by the following terms, and |
|
| 15 | subject to these terms, Apple grants you a personal, non-exclusive |
|
| 16 | license, under Apple's copyrights in this original Apple software (the |
|
| 17 | "Apple Software"), to use, reproduce, modify and redistribute the Apple |
|
| 18 | Software, with or without modifications, in source and/or binary forms; |
|
| 19 | provided that if you redistribute the Apple Software in its entirety and |
|
| 20 | without modifications, you must retain this notice and the following |
|
| 21 | text and disclaimers in all such redistributions of the Apple Software. |
|
| 22 | Neither the name, trademarks, service marks or logos of Apple Inc. may |
|
| 23 | be used to endorse or promote products derived from the Apple Software |
|
| 24 | without specific prior written permission from Apple. Except as |
|
| 25 | expressly stated in this notice, no other rights or licenses, express or |
|
| 26 | implied, are granted by Apple herein, including but not limited to any |
|
| 27 | patent rights that may be infringed by your derivative works or by other |
|
| 28 | works in which the Apple Software may be incorporated. |
|
| 29 | |
|
| 30 | The Apple Software is provided by Apple on an "AS IS" basis. APPLE |
|
| 31 | MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION |
|
| 32 | THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS |
|
| 33 | FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND |
|
| 34 | OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS. |
|
| 35 | |
|
| 36 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL |
|
| 37 | OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
|
| 38 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
|
| 39 | INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, |
|
| 40 | MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED |
|
| 41 | AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), |
|
| 42 | STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE |
|
| 43 | POSSIBILITY OF SUCH DAMAGE. |
|
| 44 | |
|
| 45 | Copyright (C) 2009 Apple Inc. All Rights Reserved. |
|
| 46 | |
|
| 47 | */ |
|
| 48 | ||
| 49 | #import "SimpleEditViewController.h" |
|
| 50 | ||
| 51 | @interface SimpleEditViewController () |
|
| 52 | @property(nonatomic, retain) UITextField* textField; |
|
| 53 | @end |
|
| 54 | ||
| 55 | @implementation SimpleEditViewController |
|
| 56 | ||
| 57 | @synthesize delegate = _delegate; |
|
| 58 | @synthesize textField = _textField; |
|
| 59 | ||
| 60 | - (id)initWithTitle:(NSString*)title currentText:(NSString*)current { |
|
| 61 | |
|
| 62 | if ((self = [super init])) { |
|
| 63 | self.title = title; |
|
| 64 | self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; |
|
| 65 | ||
| 66 | // Add the "cancel" button to the navigation bar |
|
| 67 | UIBarButtonItem *cancelButton = [[UIBarButtonItem alloc] |
|
| 68 | initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelAction)]; |
|
| 69 | |
|
| 70 | self.navigationItem.leftBarButtonItem = cancelButton; |
|
| 71 | [cancelButton release]; |
|
| 72 | ||
| 73 | CGSize size = self.view.frame.size; |
|
| 74 | CGRect rect = CGRectMake(5, 5, size.width-10, 30); |
|
| 75 | |
|
| 76 | _textField = [[UITextField alloc] initWithFrame:rect]; |
|
| 77 | |
|
| 78 | _textField.text = current; |
|
| 79 | _textField.autocorrectionType = UITextAutocorrectionTypeNo; |
|
| 80 | _textField.autocapitalizationType = UITextAutocapitalizationTypeNone; |
|
| 81 | _textField.borderStyle = UITextBorderStyleRoundedRect; |
|
| 82 | _textField.textColor = [UIColor blackColor]; |
|
| 83 | _textField.font = [UIFont systemFontOfSize:17.0]; |
|
| 84 | _textField.backgroundColor = [UIColor clearColor]; |
|
| 85 | _textField.keyboardType = UIKeyboardTypeURL; |
|
| 86 | _textField.returnKeyType = UIReturnKeyDone; |
|
| 87 | _textField.clearButtonMode = UITextFieldViewModeWhileEditing; |
|
| 88 | |
|
| 89 | _textField.delegate = self; |
|
| 90 | |
|
| 91 | [self.view addSubview:_textField]; |
|
| 92 | |
|
| 93 | [_textField becomeFirstResponder]; |
|
| 94 | |
|
| 95 | cancelling = NO; |
|
| 96 | } |
|
| 97 | |
|
| 98 | return self; |
|
| 99 | } |
|
| 100 | ||
| 101 | ||
| 102 | - (IBAction)cancelAction { |
|
| 103 | cancelling = YES; |
|
| 104 | [self.textField resignFirstResponder]; |
|
| 105 | } |
|
| 106 | ||
| 107 | ||
| 108 | - (void)textFieldDidEndEditing:(UITextField *)textField { |
|
| 109 | if (textField == self.textField) { |
|
| 110 | [self.delegate simpleEditViewController:self didGetText:cancelling ? nil : self.textField.text]; |
|
| 111 | } |
|
| 112 | } |
|
| 113 | ||
| 114 | ||
| 115 | - (BOOL)textFieldShouldReturn:(UITextField *)textField { |
|
| 116 | if (textField == self.textField) { |
|
| 117 | [self.textField resignFirstResponder]; |
|
| 118 | } |
|
| 119 | return YES; |
|
| 120 | } |
|
| 121 | ||
| 122 | ||
| 123 | - (void)dealloc { |
|
| 124 | [_textField release]; |
|
| 125 | [super dealloc]; |
|
| 126 | } |
|
| 127 | ||
| 128 | ||
| 129 | @end |
|
| 130 |
Loggerhead 1.17 is a web-based interface for Bazaar branches