MVC 概念、九宫格算法及案例、创建弹框的方法

本文详细解析了iOS应用中视图布局的计算方法,并提供了在iOS8环境下创建并显示弹框的实现步骤,包括计算UIView所在的位置、添加视图到界面上以及使用UIAlertController展示提示信息。同时,介绍了iOS8中弹框添加按钮的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// M : Model, 负责获取数据
// V : View, 负责显示
// C : Controller, 负责编写各种逻辑代码, 创建Model和View, 并且把Model设置给View
// Models、 Views、 Controllers、 Others

三者之间的协调关系是:
控制器拿到模型对象赋值给对应的视图,然后视图负责展示,控制器是协调者,用来协调视图和模型的关系,一般情况下,视图可以重用,控制器不可以重用,





九宫格算法及案例:i表示for循环中的 int i; 3表示一行有3个视图;

 * 计算当前UIView所在的列索引: columnIndex = i % 3

 * 计算当前UIView所在的行索引: rowIndex = i / 3

  CGFloat appViewW = 100;
    CGFloat appViewH = 120;
  
   
CGFloat leftXmargin = 20;
   
CGFloat middleXmargin = (self.view.frame.size.width - 2 *leftXmargin - 3*appViewW) *0.5;
   
CGFloat topYmargin = 30;
   
CGFloat middleYmargin = topYmargin;
   
//    2.添加
   
for (int i = 0; i < 12 ; i ++) {
//        /    1.添加第一个格子
       
//    1.1创建一个视图
//        UIView *appView = [[UIView alloc]init];
       
CZAppView *appView = [CZAppView loadAppView];       //    1.2设置frame
//            1.3计算行号和列号
       
int col = i%3;
       
int row = i/3;
       
       
CGFloat appViewX = leftXmargin + (appViewW + middleXmargin)*col;
       
CGFloat appViewY = topYmargin + (appViewH + middleYmargin)*row;
  
   
        appView.
frame = CGRectMake(appViewX, appViewY, appViewW, appViewH);
       
//    1.4设置颜色
//        appView.backgroundColor = [UIColor redColor];
       
//    1.5添加
        [self.view addSubview:appView];



ios8创建弹框的方法:UIAlertController *alertVc = [UIAlertController alertControllerWithTitle:@"提示" message:@"输入数字不合理" preferredStyle: UIAlertControllerStyleAlert];


*ios8显示弹框的方法:[self presentViewController:alertVc animated:NO completion:nil];


*ios8添加按钮的方法:[alertVc addAction:[UIAlertAction actionWithTitle:@"取消" style: UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
    NSLog(
@"点击了取消按钮");
}]];

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值