使用 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 中创建自定义日历的主要内容,如果未能解决你的问题,请参考以下文章

JAVA如何以数组中的一列作为标准进行排序。

二维数组

用java随机生成一个6行5列的二维数组

查找具有唯一列的数组中每一行的最小值

Java求解! 定义一个6行6列的二维整型数组,输出该二维数组中的每行和每列的最大值、最小值、和平均值。

7.+利用numpy的random模块,创建一个4行5列的数组,各元素的值为0-100的随?