`

动态添加Button和监听UIAlertView按钮

    博客分类:
  • ios
ios 
阅读更多
一、动态添加Button

[img]

[/img]

动态添加Button的效果就是点击之后,生成一个按钮,并为按钮添加点击的方法。

1、在xib文件上拖拽添加一个button,标题为:添加button。

2、按住ctrl键拖拽到addbuttonViewController.m文件空白处,生成IBAction,填充代码后如下:

谨记,并注意:fram前面没有 *
哎,犯了好几次这样的小错   我靠,fuck;

- (IBAction)addButton:(id)sender {
    CGRect frame = CGRectMake(90, 200, 200, 60);
    UIButton *someAddButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    someAddButton.backgroundColor = [UIColor clearColor];
    [someAddButton setTitle:@"动态添加一个按钮!" forState:UIControlStateNormal];
    someAddButton.frame = frame;
    [someAddButton addTarget:self action:@selector(someButtonClicked) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:someAddButton];
}


3、动态生成的button点击事件方法:

生成的button点击弹出提示框。
-(void) someButtonClicked{  
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" 
                                                    message:@"您点击了动态按钮!"   
                                                   delegate:self   
                                          cancelButtonTitle:@"确定"  
                                          otherButtonTitles:nil];  
    [alert show];
}




二、监听UIAlertView

1、在上面的代码基础上,在addbuttonViewController.h文件添加委托
#import <UIKit/UIKit.h>

@interface addbuttonViewController : UIViewController<UIAlertViewDelegate>
- (IBAction)addButton:(id)sender;

@end


2、在AlertView中多添加两个按钮
-(void) someButtonClicked{  
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" 
                                                    message:@"您点击了动态按钮!"   
                                                   delegate:self   
                                          cancelButtonTitle:@"确定"  
                                          otherButtonTitles:@"取消",@"第三项",nil];  
    [alert show];
}


3、在对应的.m文件中实现委托中的方法

监听你点击了那个按钮
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"buttonIndex:%d", buttonIndex);
}


点击AlertView中弹出的三个按钮打印的结果:
2012-06-14 16:53:18.516 DynamicAddButton[5645:f803] buttonIndex:1
2012-06-14 16:53:23.652 DynamicAddButton[5645:f803] buttonIndex:2
2012-06-14 16:53:25.701 DynamicAddButton[5645:f803] buttonIndex:0
2012-06-14 16:53:39.900 DynamicAddButton[5645:f803] buttonIndex:1
  • 大小: 13.5 KB
分享到:
评论

相关推荐

    自定义UIAlertView

    2. **设计视图结构**:在新类中,我们需要添加必要的子视图来模拟UIAlertView的功能,比如UILabel来显示标题和消息,UIButton来表示操作按钮。确保每个子视图都有适当的约束,以适应不同屏幕尺寸。 3. **属性定义**...

    ios-简单的UIAlertView.zip

    这里,`title`和`message`定义了弹出框的内容,`delegate`指定接收用户点击事件的对象,`cancelButtonTitle`是默认的取消按钮,`otherButtonTitles`则可以添加其他可选按钮。 2. **代理方法**:为了响应用户在...

    UIAlertView_block

    在传统的`UIAlertView`使用中,我们需要遵循`UIAlertViewDelegate`协议,并实现`alertView:clickedButtonAtIndex:`等方法来监听用户点击按钮的事件。这样的方式在处理多个警告视图时容易造成代码混乱,特别是在大型...

    iOS中UIAlertView警告框组件的使用教程

    如果需要添加更多按钮,可以使用变长参数列表添加。下面是一个简单的示例: ```objc UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"我的警告框" message:@"这是一个警告框" delegate:self ...

    用UIAlertView写的一个登陆窗口

    UIAlertView的基本用法包括创建一个UIAlertView对象,设置其标题、消息文本,然后添加按钮。对于登录窗口,可能添加了两个文本字段,分别用于输入用户名和密码,以及两个按钮,例如“登录”和“取消”。扩展方法可能...

    ios自定义alertView

    4. **添加自定义行为**:如果需要监听用户交互,可以添加`addTarget(_:action:for:)`方法,为按钮或者其他控件添加点击事件。 ```swift button.addTarget(self, action: #selector(buttonTapped), for: .touchUp...

    android高仿IOS对话框

    在Android开发中,为了提供与iOS相似的用户体验,开发者经常会选择创建“高仿IOS对话框”。这个主题主要涉及如何在...在项目`android-uialertview`中,很可能包含了实现这一功能的相关代码和示例,可供学习和参考。

    自定义dialog

    1. 创建布局资源文件:首先,我们需要设计一个XML布局文件,用于定义Dialog的视图结构,包括TextView(标题和消息),以及Button(操作按钮)。布局应符合iOS7 UIAlertView的样式,例如使用圆角矩形背景,合理设置...

    自定义警报框

    同时,自定义警报框的关闭可以通过点击背景、滑动或按下特定按钮来触发,这需要监听相应的触摸事件并添加适当的手势识别器。 最后,考虑到ARC(Automatic Reference Counting)的使用,我们在编写自定义警报框时,...

    CCNativeAlert:将具有回调功能的本机警报弹出窗口添加到Cocos2D-x的类

    在Cocos2D-x中,通常我们通过`Director`来调度场景,而`CCNativeAlert`则是在这个调度层之上添加了一个新的事件处理器,用于监听用户的操作并触发相应的回调函数。 2. **实现方式** - **平台适配**:`...

    iOS 通过collectionView实现照片删除功能

    这通常在自定义的UICollectionViewCell类中完成,例如在photoCollectionViewCell.m中添加一个删除按钮并监听其点击事件。 在用户点击删除按钮后,你需要弹出一个警告对话框确认删除操作,例如使用UIAlertView或...

Global site tag (gtag.js) - Google Analytics