zoukankan      html  css  js  c++  java
  • iOS开发基础-九宫格坐标(4)

      对iOS开发基础-九宫格坐标(3)的代码进行进一步优化。

      新建一个 UIView 的子类,并命名为 WJQAppView ,将 appxib.xib 中的 UIView 对象与新建的视图类进行关联。

       WJQAppView 类中声明3个 IBOutlet 属性,与 appxib.xib 中的视图对象包含的 UIImageView 、 UILabel 和 UIButton 建立连接。 WJQAppView 头文件代码如下所示:

    1 //WJQAppView.h
    2 @interface WJQAppView : UIView
    3 @property (weak, nonatomic) IBOutlet UIImageView *appImage;
    4 @property (weak, nonatomic) IBOutlet UILabel *appLabel;
    5 @property (weak, nonatomic) IBOutlet UIButton *appButton;
    6 @end

      最后,修改 ViewController.m 中的 viewDidLoad 方法:

     1 //ViewController.m
     2 - (void)viewDidLoad {
     3     [super viewDidLoad];
     4     
     5     int totalColumn = 3;        //3列
     6     CGFloat margin = (self.view.frame.size.width - totalColumn*appViewWidth) / (totalColumn + 1);
     7     int count = self.apps.count;
     8     NSLog(@"%d", count);
     9     
    10     for (int i = 0; i < count; i++) {
    11         int row = i/totalColumn;        //行号,从0开始
    12         int column = i%totalColumn;     //列号,从0开始
    13         CGFloat appViewX = margin + (margin + appViewWidth) * column;       //子视图的X坐标
    14         CGFloat appViewY = margin + (margin + appViewHeight) * row;      //子视图的Y坐标
    15         WJQAppInfo *appInfo = self.apps[i];
    16         
    17         //创建UIView控件
    18         NSArray *appArray = [[NSBundle mainBundle] loadNibNamed:@"appxib" owner:nil options:nil];
    19         WJQAppView *appView = [appArray firstObject];
    20         appView.frame = CGRectMake(appViewX, appViewY, appViewWidth, appViewHeight);
    21         appView.appImage.image = appInfo.image;      //设置图片
    22         appView.appLabel.text = appInfo.desc;        //设置名称
    23         appView.appButton.tag = i;                   //设置按钮的序号
    24         [appView.appButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
    25         
    26         [self.view addSubview:appView];
    27     }
    28 }

    参考博客:iOS开发UI篇—xib的简单使用

    实例代码:http://pan.baidu.com/s/1o7l6IXc 

  • 相关阅读:
    Blazor server VS Blazor WebAssembly
    DataTable 差集Except、交集Intersect、并集Union
    Power BI Anomaly Detection
    Power BI智能叙述
    Configure the Secure Store Service in SharePoint Server
    小批量excel数据导入oracle
    python批量写入oracle
    centos7安装java,配置的环境变量不生效 -bash: java: command not found
    nebula docker三件套组件版本问题
    shell删除指定行
  • 原文地址:https://www.cnblogs.com/wjq-Law/p/5127913.html
Copyright © 2011-2022 走看看