コードを読みやすくするために、AlertView を新しいオブジェクトとして作成することにしました。クラス AlertViews を NSObject のサブクラスとして作成しました。2 つの UIAlertView を作成しました。1 つはテキスト フィールドが 1 つ、もう 1 つはプレーンな UIAlertView です。それをテストするために、UIAlertView にテキストを入力したかったので、[OK] をクリックして NSLog を確認します。
AlertViews.h
@interface AlertViews: NSobject
{
UIAlertView *addSomethingAlertView;
UIAlertView * showSomethingAV;
}
@property (nonatomic, retain) UIAlertView *addSomethingAlertView;
@property (nonatomic, retain) UIAlertView *showSomethingAV;
-(void)InitializeAddSomethingAlertView;
-(void)InitializeShowSomethingAV;
AlertViews.m
@implementation
@synthesize addSomethingAlertView = _addSomethingAlertView;
@synthesize showSomethingAV = _showSomethingAV;
-(void)initializeAddSomethingAlertView {
addSomethingAlertView = [[UIAlertView alloc] initWithTitle:@"Something"
message:@"something" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitle:@"OK", nil];
addsomethingAlertViewStyle = UIAlertViewStylePlainTextInput;
[[addSomethingAlertView textFieldAtIndex:0] setDelegate: self];
[[addSomethingAlertView textFieldAtIndex:0] setKeyboardType: UIKeyboardTypeDecimalPad];
[[addSomethingAlertView textFieldAtIndex:0] becomeFirstResponder];
[addSomethingAlertView show]; }
-(void)InitializeShowSomethingAV {
showSomethingAV = [[UIAlertView alloc] initWithTitle:@"show" message:@"show"
delegate:self cancelButtonTitle:@"Cancel" otherButtonTitle:@"show", nil];
[showSomethingAV show];
@end
ViewController.h
#import"AlertViews.h"
@interface ViewController: UIViewController <UIAlertViewDelegate> {
AlertViews *newAlert;
AlertViews *showAlert;
}
@property (nonatomic, retain) AlertViews *newAlert;
@property (nonatomic, retain) AlertViews *newAlert;
-(IBAction)adding:(id)sender;
-(IBAction)showing:(id)sender;
ViewController.m
@implementation
@synthesize newAlert = _newAlert;
@synthesize showAlert = _showAlert;
-(IBAction)adding:(id)sender {
[self.newAlert = [[AlertViews alloc] init];
[self.newAlert initializeAddSomethingAlertView];
}
-(IBAction)showing:(id)sender {
[self.showAlert = [[AlertViews alloc] init];
[self.showAlert initializeshowSomethingAV];
@end
このコードを ViewController.m に実装しようとしました
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if (addsomethingAlertView) {if (buttonIndex == 1) { NSLog(@"adding"); }
if (showSomethingAV) {if (buttonIndex == 1) {NSLog(@"showing"); }
}
ただし、ログは取得されません。
また、AlertView Text Field に入力されたテキストはどのように使用できますか?
ありがとう!