使用 6 行 7 列的 Uibutton 数组在 iphone 中创建自定义日历
Posted
技术标签:
【中文标题】使用 6 行 7 列的 Uibutton 数组在 iphone 中创建自定义日历【英文标题】:Creating a custom calendar in iphone using an array of Uibuttons of 6rows and 7 columns 【发布时间】:2011-11-09 11:19:21 【问题描述】:我想使用一组按钮创建一个自定义日历应用程序,所以我想知道如何从这个开始..请帮助我。w.r.t 这个,我想知道是否存在使用按钮和不是网格布局,因为我不想使用网格布局
朋友们好,我尝试用下面的cmets解决这个问题并写了这段代码
for (int columnIndex = 0; columnIndex < 6; columnIndex++)
// now loop over the rows
for (int rowIndex = 0; rowIndex < 7; rowIndex++)
NSString *buttonTitle = [NSString stringWithFormat:@"%d",columnIndex,rowIndex];
CGRect newFrame = CGRectMake(10 + rowIndex * 40, 60 + columnIndex * 40, 35, 35);
UIButton *newButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
newButton.frame = newFrame;
newButton.backgroundColor = [UIColor grayColor];
[newButton setTitle:buttonTitle forState:UIControlStateNormal];
[newButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// tag the button, so we know how to handle each one
//newButton.tag = (columnIndex << 8) + rowIndex;
//newButton =[m_buttonArray objectAtIndex:rowIndex];
NSLog(@"%d",[m_buttonArray count]);
[newButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:newButton];
当我运行项目时,我看到了 6*7 的按钮网格.. 但我很困惑如何将这些按钮添加到数组中以便我可以访问 w.r.t 数组,我认为它需要一个 2D 数组..所以请朋友帮我看看我该怎么做
谢谢&问候 兰吉特
【问题讨论】:
你已经用ios4、ios5、ios-4.2 和ios4.3 标记了这个,这是什么意思?? 【参考方案1】:iOS 中没有网格布局,afaik。
您的选择之一是在界面构建器中布置您的界面: 使用 UIViewController 子类创建一个新文件。点击 XCode 4.x 中的 .xib 文件
点击左上角的右侧面板按钮,然后选择“库”。将一个 UIButton 拖到您的视图上并定位它。然后您可以复制/粘贴按钮。
如果您想采用这种方法,我建议您查找 iOS 界面构建器教程并继续进行。
这是最简单但又乏味的路径。您将能够直观地看到您的日历的外观。缺点是这种方法需要您定义 42 个按钮和 42 个插座。从好的方面来说,您将能够更改您的 .XIB 文件
另一种方法是以编程方式创建接口 NSMutableArray 并在其中添加 42 个按钮。您将使用每个按钮的自定义框架将每个按钮添加到您的子视图中。这是一个非常容易出错的解决方案,如果需要进行更改,您将不得不手动编辑框架偏移/宽度。
我希望这会有所帮助!
【讨论】:
嘿,alex 谢谢你的建议,你能建议我如何在实现日历逻辑方面继续前进吗?我不知道它。我应该如何在这个按钮上实现日历逻辑,以及它是否一个简单的任务或耗时..等待你的回应以上是关于使用 6 行 7 列的 Uibutton 数组在 iphone 中创建自定义日历的主要内容,如果未能解决你的问题,请参考以下文章