pan*_*kaj 0 iphone cocoa-touch objective-c ios
我必须在我的iPhone应用程序中使用日历.我努力了,但在iPhone SDK中找不到任何内置的API用于此目的.现在我要自己创建日历,需要一些指导.
我已经(在所有IE,35个键)创造了5行的7个按键,并使用它的日期,再后来,我会添加其他图形的日子和月份.我已经将这些按钮放在一个数组中,并将在循环中添加/更改它们的属性.
我怀疑这是否是正确的方法,或者是否有人可以向我提出更好的方法.
btnCal29=[[UIButton alloc]initWithFrame:CGRectMake(22.0f, 312.0f, 35.0f, 35.0f)];
btnCal30=[[UIButton alloc]initWithFrame:CGRectMake(62.0f, 312.0f, 35.0f, 35.0f)];
btnCal31=[[UIButton alloc]initWithFrame:CGRectMake(102.0f, 192.0f, 35.0f, 35.0f)];
btnCal32=[[UIButton alloc]initWithFrame:CGRectMake(142.0f, 192.0f, 35.0f, 35.0f)];
btnCal33=[[UIButton alloc]initWithFrame:CGRectMake(182.0f, 192.0f, 35.0f, 35.0f)];
btnCal34=[[UIButton alloc]initWithFrame:CGRectMake(222.0f, 192.0f, 35.0f, 35.0f)];
btnCal35=[[UIButton alloc]initWithFrame:CGRectMake(262.0f, 192.0f, 35.0f, 35.0f)];
arrCalendarbutton = [[NSMutableArray alloc] initWithObjects:btnCal1,btnCal2,btnCal3,btnCal4,btnCal5,btnCal6,btnCal7,btnCal8,btnCal9,btnCal10,btnCal11,btnCal12,btnCal13,btnCal14,nil];
for(int i = 0; i<[arrCalendarbutton count];i++)
{
[(UIButton *)[arrCalendarbutton objectAtIndex:i] setBackgroundColor:[UIColor lightGrayColor]];
[(UIButton *)[arrCalendarbutton objectAtIndex:i] addTarget:self action:@selector(cal) forControlEvents:UIControlEventTouchUpInside];
[(UIButton *)[arrCalendarbutton objectAtIndex:i] setTitle:[NSString stringWithFormat:@"%d",i+1] forState:UIControlStateNormal];
//[(UIButton *)[arrCalendarbutton objectAtIndex:i] setTitle:@"11" forState:UIControlStateNormal];
[self.view addSubview: (UIButton *)[arrCalendarbutton objectAtIndex:i]];
}
Run Code Online (Sandbox Code Playgroud)
我使用上面的代码来显示按钮(这里没有为所有按钮添加代码).我当然会在以后的更改中更改按钮的标题,但是现在我只专注于设计.
我正朝着正确的方向前进吗?有没有更好的办法?
也许你会发现这些链接很有帮助
我不会将每个按钮连接到命名变量.
做这样的事情:
NSMuteableArray *array = [[NSMUteableArray alloc] init];
for(int i=0; i<31; i++){
UIButton *b = ....;
//customize b
[array addObject:b];
[b release];
}
Run Code Online (Sandbox Code Playgroud)
如果您正在遍历数组,则建议使用for-each而不是
for(int i = 0; i<[arrCalendarbutton count];i++)
Run Code Online (Sandbox Code Playgroud)
做
for(UIButton *b in arrCalendarbutton)
Run Code Online (Sandbox Code Playgroud)