构建 10x10 UIButton 网格的最佳方法?

2023-12-20

我将有一个 10x10 网格的 UIButton 对象。每个 UIButton 都需要通过行号和列号来引用,因此它们可能应该存储在某种类型的数组中。

我的问题:创建这个网格的最简单方法是什么?以编程方式还是通过 Interface Builder?如果以编程方式,访问这些按钮的最简单方法是什么,以便当触摸它们时,我能知道触摸按钮的行号和列号吗?


我个人不喜欢IB,所以我建议以编程方式进行!

使用 NSArray 来存储您的 UIButton。每个按钮的索引是row*COLUMNS+column.

将标签属性设置为 BASE+index (BASE 是任意值 > 0),以便您可以找到按钮的位置:index=tag-BASE; row=index/COLUMNS; column=index%COLUMNS;

- (void)loadView {
    [super loadView];

    for (NSInteger row = 0; row < ROWS; row++) {
        for (NSInteger col = 0; col < COLS; col++) {
            UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
            [buttonArray addObject:button];
            button.tag = BASE + row * COLS + col;
            button.frame = ...;
            [button addTarget:self action:@selector(didPushButton:) forControlEvents:UIControlEventTouchDown];
            [self.view addSubview:button];
        }
    }
}

- (void)didPushButton:(id)sender {
    UIButton *button = (UIButton *)sender;
    NSInteger index = button.tag - BASE;
    NSInteger row = index / COLS;
    NSInteger col = index % COLS;
    // ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

构建 10x10 UIButton 网格的最佳方法? 的相关文章

  • 使用 Python 查找 Mac OS X 中的当前活动窗口

    有没有办法使用 Python 在 Mac OS X 上查找给定时间当前活动窗口的应用程序名称 这应该有效 usr bin python from AppKit import NSWorkspace activeAppName NSWorks
  • Objective c:如何只删除目录下的所有文件但保留目录本身

    我发现下面的代码可以删除objective c中的文件 但我只想删除目录下的所有文件Caches并保留目录Caches itself 有人可以建议这样做的方法吗 Thanks NSFileManager filemgr filemgr NS
  • iPhone Core Graphics 子视图的粗虚线

    我有一个UIView在其中我通过覆盖使用 Core Graphics 画了一条线drawRect 该视图还包含一个子视图 该子视图也绘制一条线 然而 虽然两个视图都使用几乎相同的代码 至少出于测试目的 但在它们上绘制的线看起来并不相同 正如
  • iOS UITableViewCell需要按两次才能调用didSelectRowAtIndexPath

    我有一个 UITableView 有时需要您触摸它两次才能选择一个单元格 更多细节 仅当表格一直向上或一直向下滚动后才需要两次触摸 只需第二次触摸即可呼叫didSelectRowAtIndexPath 当表格以自然的 向上滚动位置 打开时
  • 如何在 Monotouch 中对 UIImageView 进行运动模糊效果?

    在 MonoTouch 中进行实时运动模糊的方法是什么 当滚动惯性图片库时 我需要在 UIImageView 上应用运动模糊效果 以强度和方向作为参数 就像在 Photoshop 中一样 我在 CocoaTouch 或 CoreAnimat
  • iPhone - 创建图像网格列表

    我正在开发一个应用程序 它从网站获取图像并使用网格视图向用户显示 例如Apple的照片应用程序 当您点击图像时 我会推送一个显示图像信息和其他内容的视图控制器 实现这个的更好方法是什么 我想到了自定义 UITableViewCell 我见过
  • 应用程序在第二次运行 nsnull 计数的循环时崩溃

    我有一个循环 第一次运行正常 但第二次循环时我得到 NSNull count unrecognized selector sent to instance 0x3a094a70 Terminating app due to uncaught
  • 使用 Mono Touch 的 Iphone 键盘顶部带有完成按钮的工具栏?

    我需要使用 UIkeyboard type 数字键盘在工具栏上添加完成按钮 以便在单击完成按钮时退出键盘 我使用了输入附件视图 但它也添加到普通键盘 我需要在我有数字键盘的地方添加这个 例如 我有一个文本字段 它只需要我需要的数字 除了我不
  • 在 Objective C 中使用下划线作为属性名称前缀 [重复]

    这个问题在这里已经有答案了 我以前避免在变量名中使用下划线 这可能是我大学 Java 时代的遗留下来的 因此 当我在 Objective C 中定义属性时 我自然会这样做 In the header interface Whatever N
  • iOS Swift 检测键盘事件

    我能以某种方式检测来自 iOS 键盘的事件吗 我想检测此类事件UIViewController哪个没有UITextField或任何此类物体 我只有四个圆圈UIView我想在按下键盘上的按钮时将它们涂成不同的颜色 您没有任何对象可以从键盘获取
  • iPhone 上的最大蓝牙连接数是多少?

    如果您对此有任何见解 那么了解连接之间是否存在很大的延迟也会很高兴 蓝牙协议规定连接是点对点的 因此称为 配对 但不同的站可以同时使用不同的配置文件 每个配置文件一次仅支持一个连接 您可以同时与汽车建立立体声耳机连接并与笔记本电脑建立数据连
  • 使用 Objective-C 在 iPhone 应用程序中显示或隐藏 UIButton

    我在用UITextView编辑文本 我想用两个UIButtons编辑并保存 最初我想显示编辑UIButton 当用户单击编辑时我想显示保存UIButton 当内容成功保存后 我不想再显示保存按钮 我是一名 C 编码员 在 C 中我曾经这样做
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • MKMapView 中显示多个注释标注

    是否可以同时打开多个标注 代码 void mapViewDidFinishLoadingMap MKMapView theMapView for id
  • 从 NSError 返回 NSString

    我正在使用NSURLRequest我的 iPhone 应用程序中的类 调用它的方法返回一个NSString这对于连接正常时非常有用 但问题是我需要将 NSError 转换为 NSString 以便我可以将其返回或运行一些if 对此的声明 有
  • 如何在 Xcode 4 中通过一个操作归档多个目标

    我有一个包含多个目标的项目 这些目标都适用于不同的 iOS 应用程序 例如 一个用于精简版的目标 另一个用于专业版的目标 我想立即构建并归档我的所有应用程序 目前 我对每个目标都有一个方案 我用它来独立归档每个应用程序 但现在我必须开始归档
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间
  • 为什么 GDB 调试器不断冻结 Xcode 4?

    这真是一个奇怪的错误 我正在开发一个使用相机源的 iPhone 项目 并通过 OpenGL 着色器运行它以对其应用效果 然而 每次我在代码中简单地创建一个新的 GLfloat 时 调试器都会在启动时冻结 我无法复制和粘贴文本 因为整个 XC
  • 应用未能及时恢复

    我在一个非常具体的场景中遇到 未能及时恢复 崩溃 我认为与看门狗相关 仅在从后台恢复时 并且仅在进入后台后在很短的时间内执行此操作 a最多几秒钟 这似乎是相关的崩溃日志 Incident Identifier E30F2238 5B15 4

随机推荐

  • 如何在 C++ 中通过引用传递“文字”整数

    为了避免调用函数 例如 fillRect 时按值复制的低效率 我想通过引用传递参数 如果我提供参数作为声明的局部变量 它就可以正常工作 但是 如果我提供任何 文字 整数 我会收到编译错误 没有匹配的函数 void fillRect int
  • 将图像和名称添加到现有 WL spl 令牌

    我一直用的是Solana labs token listGithub 上的存储库 https github com solana labs token list https github com solana labs token list
  • 查找字符串中不重复的字符

    我必须在 JavaScript 中创建一个函数来删除字符串中的所有重复字母 到目前为止 我已经能够做到这一点 如果我有 anaconda 这个词 它会在应该显示 cod 时向我显示结果 anaconda 这是我的代码 function fi
  • 对同一对象的链接操作和求值顺序

    考虑一个class MyClass with 成员函数myClass myFunction1 int 这修改了 对象并返回 this 成员函数int myFunction2 const那不 修改对象 C 11 14 标准是否保证 mycla
  • 如何更新父子之间的数据

    我能够通过模板绑定 在 ngInit 上 将数据从父级传递到子级 但是当它在父组件更新时我如何共享相同的数据 是否可以在不涉及服务的情况下共享 从父组件到子组件 更新的数据 我尝试了模板
  • 是否可以在 multi_match 查询中仅对一个字段使用模糊性?

    我在 Elasticsearch 中使用以下 multi match 查询 我想知道是否可以仅对 friend name 字段 使用模糊性 我尝试过不同的方法 但似乎不起作用 我还想知道是否可以使用分析器来获得与模糊性类似的结果 query
  • 根据回归系数在散点图上绘制回归线

    我正在尝试使用以下方法绘制回归线 https observablehq com harrystevens introducing d3 regression linear https observablehq com harrysteven
  • 如何在wpf C#中从数据表导出到excel文件

    我有一个数据表 希望将其导出到 Excel 文件 它是一个 wpf 应用程序 我找到的所有解决方案都是针对 Web 应用程序 asp net 请帮助 只是为了让所有人更容易看到 Microsoft Office Interop Excel
  • 如何删除Android TextView上的第一个字符缩进

    我在 Android 上使用 TextView 在屏幕上显示多行文本 如下所示 aaaaaaaaaaaaaaaaaaaaaa n bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb n cccccccccccccccc
  • Canvas.drawText() 更改不同尺寸图像的文本大小

    我正在绘制文本Bitmap 图像转换为位图 使用Canvas API drawText 方法 我能够在上面绘制文字Bitmap但我正在努力解决以下错误 如果从设备相机中单击图像 则在其上绘制的文本具有正确的大小 但是 如果从图库中随机选择一
  • Aptana 间歇性无法关闭输出流

    希望有人能帮忙解决这个问题 因为它让我发疯 我在 OS X Lion 上使用 Aptana 3 1 但与之前版本的 Aptana 和 Snow Leopard 遇到了同样的问题 我设置了多个 ftp 连接 但在尝试上传文件时遇到间歇性问题
  • C++:函数/方法声明中与号“&”和星号“*”之间的区别?

    它们之间是否存在某种微妙的区别 void a1 float b b 1 a1 b and void a1 float b b 1 a1 b 它们都执行相同的操作 或者从 main 看来是这样 但第一个显然更短 但是我看到的大多数代码都使用第
  • PHP 函数 session_module_name 到底有什么用?

    PHP Session 相关函数有这个 会话模块名称 http www php net manual en function session module name php 文档只说 session module name 获取和 或设置当
  • 如何以编程方式安装 VisualStudio 扩展?

    如何获取已安装的 VisualStudio 扩展的列表 不知何故通过DTE 只要名字就足够公平了 这有帮助吗 System IServiceProvider serviceProvider package as System IServic
  • 链接生成的 Jooq 类时如何解决不明确的匹配

    我已经在 J PA 中定义了我的模型 并正在为我的应用程序编写一些查询 并且我正在使用 JOOQ 生成的类将所有表连接在一起 以检查请求的资源是否确实属于请求用户 但是 当我这样做时 我收到以下警告 Ambiguous match foun
  • python split 多个分隔符错误?

    我正在查看对这个先前提出的问题的答复 使用多个分隔符分割字符串 https stackoverflow com questions 1059559 split strings with multiple delimiters 对于这个问题的
  • 带有圆角半径和阴影的 SWIFT UITableViewCell

    我一直在尝试创建一个带有圆角和阴影的自定义表格视图单元格 我设法创建了圆角 但阴影仅显示在角上 而没有显示在其他地方 对于阴影和圆角 您可以使用以下代码 override func tableView tableView UICollect
  • 如何使用https://angular.io/docs/ts/latest/guide/webpack.html中的vendor.ts

    根据https angular io docs ts latest guide webpack html https angular io docs ts latest guide webpack html您应该能够在vendor ts文件
  • Python MySQL 连接器返回字节数组而不是常规字符串值

    我正在将一张表中的数据加载到 pandas 中 然后将该数据插入到新表中 但是 我看到的不是普通的字符串值 而是字节数组 bytearray b TM16B0I8 它应该是TM16B0I8 我在这里做错了什么 My code engine
  • 构建 10x10 UIButton 网格的最佳方法?

    我将有一个 10x10 网格的 UIButton 对象 每个 UIButton 都需要通过行号和列号来引用 因此它们可能应该存储在某种类型的数组中 我的问题 创建这个网格的最简单方法是什么 以编程方式还是通过 Interface Build