29,049
社区成员




#import <UIKit/UIKit.h>
@interface ViewController : UIViewController<UIActionSheetDelegate, UITextFieldDelegate>
{
UIActionSheet * sheet;
}
@end
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
-(void)btnClicked:(id)sender
{
UIButton * btn = (UIButton*)sender;
[sheet dismissWithClickedButtonIndex:btn.tag animated:YES];
}
- (void)buttonClicked:(id)sender
{
sheet = [[UIActionSheet alloc] initWithTitle:@"爱情宣言\n\n\n\n\n\n\n\n\n" delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles: nil];
sheet.frame = CGRectMake(0, 260, 320, 480); //不起作用,求解释?
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(0, 100, 320, 40)];
textField.backgroundColor = [UIColor whiteColor];
textField.text = @"我爱景妃";
textField.textAlignment = NSTextAlignmentCenter;
textField.delegate = self;
[sheet addSubview:textField];
[textField release];
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(140, 150, 80, 40)];
[btn setTitle:@"永不言弃" forState:UIControlStateNormal];
btn.tag = 100;
[btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
[sheet addSubview:btn];
[btn release];
[sheet showInView:self.view];
[sheet release];
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton * btn1 = [[UIButton alloc] initWithFrame:CGRectMake(100, 200, 80, 40)];
[btn1 setTitle:@"Click Me" forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
btn1.backgroundColor = [UIColor blackColor];
[self.view addSubview:btn1];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc
{
[sheet release];
[super dealloc];
}
#pragma mark action sheet delegate method
#pragma mark textfield delegate method
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
sheet.frame = CGRectMake(0, 100, 320, 480);
if (!textField.window.isKeyWindow) { //网上很多说不是keywindow的问题,但是我改了还是无效,求高手帮忙解答,不胜感激
[textField.window makeKeyAndVisible];
}
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
sheet.frame = CGRectMake(0, 260, 320, 480);
[textField resignFirstResponder];
}
@end