你已經看夠ios鑑於這些預設的正方形塊,整齊地顯示?
本篇給出乙個隨機演算法設計的三角布局的瓷磚和實施。
這樣的規則,並提出妥協隨機排列間。它看起來很凌亂,不會有乙個新事物。
重點是設計和實施,以實現布局演算法,能夠改變顏色或者加入。
布局生成效果例如以下:
核心演算法設計以及**實現例如以下:
//
// ********viewcontroller.m
// ********layout
//// created by 杜子兮(duzixi) on 14-8-24.
//#import "********viewcontroller.h"
#import "********.h"
#import #define padding 10
#define size 100
#define col (self.view.frame.size.width / size)
#define row (self.view.frame.size.height / size)
@inte***ce ********viewcontroller ()
@end
@implementation ********viewcontroller
- (void)viewdidload
// [self.view addsubview:view];
// step 2:在格仔中產生隨機點
int x = arc4random() % (size - padding * 2) + view.frame.origin.x + padding;
int y = arc4random() % (size - padding * 2) + view.frame.origin.y + padding;
cgpoint p = cgpointmake(x, y);
nsvalue *v = [nsvalue valuewithcgpoint:p];
[_randompoints addobject:v];
uiview *pview = [[uiview alloc] initwithframe:cgrectmake(p.x, p.y, 2, 2)];
pview.backgroundcolor = [uicolor bluecolor];
// [self.view addsubview:pview];
uilabel *label = [[uilabel alloc] initwithframe:cgrectmake(p.x, p.y, 50, 20)];
label.text = [nsstring stringwithformat:@"%lu",(unsigned long)[_randompoints count]];
// [self.view addsubview:label];}}
int k = 0;
for (int i = 0; i < row; i++) } } - (void)didreceivememorywarning @end
//// ********.h
// ********layout
//// created by 杜子兮(duzixi) on 14-8-24.
//#import @inte***ce ******** : nsobject
@property (nonatomic, assign) cgpoint p1;
@property (nonatomic, assign) cgpoint p2;
@property (nonatomic, assign) cgpoint p3;
@end
為了讓大家看清布局過程,**中保留了一些中間過程(凝視掉了)。
開啟凝視就可以看到格仔,隨機點等內容。
下一次的目標是將其改寫成uicollectionview的layout,請大家敬請期待
iOS 三角函式
角度轉弧度,弧度轉角度 弧度轉角度 define radians to degrees radians radians 180.0 m pi 角度轉弧度 define degrees to radians angle angle 180.0 m pi eg 計算三角形的三個點 cgfloat r 2...
楊輝三角演算法集錦
name 楊輝三角集錦 author goal00001111 date 27 11 08 19 04 description 分別使用了二維陣列,一維陣列,佇列,二項式公式,組合公式推論和遞迴方法等10種演算法 演算法思路詳見 注釋 注釋很詳細,呵呵 include include using n...
每日演算法 楊輝三角
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 解法一 遞迴。下面一行的m值是由上面一行n值決定的。比如下面一行的第i個元素m i 值是由上面一行...