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 

  • 相关阅读:
    在Ubuntu中通过update-alternatives切换软件版本
    SCons: 替代 make 和 makefile 及 javac 的极好用的c、c++、java 构建工具
    mongodb 的使用
    利用grub从ubuntu找回windows启动项
    How to Repair GRUB2 When Ubuntu Won’t Boot
    Redis vs Mongo vs mysql
    java script 的工具
    python 的弹框
    how to use greendao in android studio
    python yield的终极解释
  • 原文地址:https://www.cnblogs.com/wjq-Law/p/5127913.html
Copyright © 2011-2022 走看看