iOS开发基础-九宫格坐标(4)
生活随笔
收集整理的這篇文章主要介紹了
iOS开发基础-九宫格坐标(4)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
對iOS開發(fā)基礎(chǔ)-九宮格坐標(biāo)(3)的代碼進(jìn)行進(jìn)一步優(yōu)化。
新建一個?UIView?的子類,并命名為?WJQAppView?,將?appxib.xib?中的?UIView?對象與新建的視圖類進(jìn)行關(guān)聯(lián)。
?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坐標(biāo) 14 CGFloat appViewY = margin + (margin + appViewHeight) * row; //子視圖的Y坐標(biāo) 15 WJQAppInfo *appInfo = self.apps[i]; 16 17 //創(chuàng)建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; //設(shè)置圖片 22 appView.appLabel.text = appInfo.desc; //設(shè)置名稱 23 appView.appButton.tag = i; //設(shè)置按鈕的序號 24 [appView.appButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 25 26 [self.view addSubview:appView]; 27 } 28 }?
參考博客:iOS開發(fā)UI篇—xib的簡單使用
實(shí)例代碼:http://pan.baidu.com/s/1o7l6IXc?
轉(zhuǎn)載于:https://www.cnblogs.com/wjq-Law/p/5127913.html
總結(jié)
以上是生活随笔為你收集整理的iOS开发基础-九宫格坐标(4)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在论坛中出现的比较难的sql问题:33(
- 下一篇: centos6.2系统使用扩展源epel