UIkit-UIAlertContent

简单Demo

objectivec 复制代码
//注意!!!必须放在viewController的viewDidAppear里面,viewDidLoad里面不行
- (void)viewDidAppear:(BOOL)animated
{
    // 创建 UIAlertController
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"标题" message:@"这是消息" preferredStyle:UIAlertControllerStyleAlert];
    
    //添加自定义文本框
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
         //自定义文本框
        textField.placeholder = @"这是第一个文本框";
        textField.keyboardType = UIKeyboardTypeDefault;
    }];
    
    //添加第二个自定义文本框
    [alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
         //自定义文本框
        textField.placeholder = @"这是第二个文本框";
        textField.keyboardType = UIKeyboardTypeDefault;
    }];
    
    UIAlertAction *okAction = [UIAlertAction
        actionWithTitle:@"确定"
                  style:UIAlertActionStyleDefault
                handler:^(UIAlertAction *action) {
                    // 处理确定按钮点击
                    UITextField *textField = alertController.textFields.firstObject;
                    NSString *enteredText = textField.text;
        
                    UITextField *secTextField = alertController.textFields[1];
                    NSString *secText = secTextField.text;
                    // 根据需要处理输入的文本
                }];

    [alertController addAction:okAction];
    
    
    alertController.popoverPresentationController.sourceView = self.view;
    alertController.popoverPresentationController.sourceRect = CGRectMake(CGRectGetMidX(self.view.bounds), CGRectGetMidY(self.view.bounds), 1.0, 1.0);


    // 在视图控制器中显示 UIAlertController
    [self presentViewController:alertController animated:YES completion:nil];
    
}
    
}

后面的界面会置灰

position

UIAlertController alertControllerWithTitle:@"标题" message:@"这是消息" preferredStyle:UIAlertControllerStyleAlert\]; UIAlertControllerStyleAlert alert样式在屏幕中间 actionsheet的样式 ![在这里插入图片描述](https://file.jishuzhan.net/article/1730434110284894210/211f44c85e5ed4b4ffece4c0ced5d5b1.webp) actionsheet不能添加文本框 ### 添加文本框 addTextFieldWithConfigurationHandler ![在这里插入图片描述](https://file.jishuzhan.net/article/1730434110284894210/da5bf2238fdcdbf4d989422e8fb66163.webp) 上面代码有事例 ## 其他控件 ### UIStepper ![在这里插入图片描述](https://file.jishuzhan.net/article/1730434110284894210/528ee4d9715a2f14bf1a43805166ea20.webp) ```objectivec - (void)showStepView { // 创建一个标签用于显示数值 self.label = [[UILabel alloc] initWithFrame:CGRectMake(50, 300, 200, 30)]; self.label.textColor = [UIColor blackColor]; self.label.text = @"0.0"; [self.view addSubview:self.label]; // 创建一个 UIStepper self.stepper = [[UIStepper alloc] initWithFrame:CGRectMake(50, 350, 0, 0)]; [self.stepper addTarget:self action:@selector(stepperValueChanged) forControlEvents:UIControlEventValueChanged]; [self.view addSubview:self.stepper]; } - (void)stepperValueChanged { self.label.text = [NSString stringWithFormat:@"stepValue:%f",self.stepper.value]; } ```

相关推荐
@大迁世界3 小时前
14个你现在必须关闭的 iOS 26 设置,不然手机很快被它榨干
macos·ios·智能手机·objective-c·cocoa
YJlio10 小时前
10.2.8 以其他账户运行服务(Running services in alternate accounts):为什么“把服务切到某个用户账号下运行”,本质上是在改变服务的整个安全上下文?
python·安全·ios·机器人·django·iphone·7-zip
pop_xiaoli14 小时前
【iOS】KVC与KVO
笔记·macos·ios·objective-c·cocoa
90后的晨仔14 小时前
《swiftUI进阶 第10章:现代状态管理(iOS 17+)》
ios
sakiko_1 天前
UIKit学习笔记4-使用UITableView制作滚动视图
笔记·学习·ios·swift·uikit
小锋学长生活大爆炸1 天前
【开源软件】这次iPhone也是用上Claw了 | PhoneClaw
ios·开源软件·iphone·claw
SameX1 天前
独立开发一个把走过的路变成 km² 的 App,聊聊 25m 网格和后台 GPS 的坑
ios
XD7429716361 天前
科技早报晚报|2026年4月30日:Agent 安全壳、浏览器 iOS 测试台与可穿戴数据 API,今天更值得看的 3 个技术机会
科技·ios·开源项目·科技新闻·开发者工具
北京自在科技1 天前
Find Hub App 小更新
android·ios·安卓·findmy·airtag
2501_915921432 天前
HTTPS前端劫持 新一代流量劫持解决方案
前端·网络协议·ios·小程序·https·uni-app·iphone