问题标签 [cocoa-touch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5997 浏览

iphone - 保存 iphone 应用程序设置的最佳方法是什么?

我想允许用户更改应用程序的设置。但我不确定我应该在哪里保存配置。

是否为应用程序分配了任何本地空间?

0 投票
4 回答
3495 浏览

iphone - 在 Cocoa touch 中存储静态引用数组/字典的最佳方式

我有几个数组数组或字典数组,我想将它们存储在我的 iPhone 应用程序中。此列表是静态的,不会被应用程序或用户修改。有时可能会显示它们,但更有可能的是它们会被迭代并与某些输入值进行比较。存储这些数组的最佳方式是 CoreData/SQLite 数据存储、头文件还是我没有想到的东西?我可以看到创建一个仅将这些数组存储在其中以供访问的类,但我不确定这是否是最佳途径。

0 投票
4 回答
13604 浏览

iphone - parentViewController 总是导航控制器吗?

一周前我对此有点摸不着头脑,现在有了更多可可经验,我觉得我对可能发生的事情有所了解。

我正在制作一个由 UINavigationController 驱动的应用程序。在 AppDelegate 中,我创建了这个类的一个实例,使用“page 1”作为根视图控制器。

现在这就是我遇到问题的地方。从“第 1 页”开始,我想使用一个模态视图控制器,它在界面上滑动,然后在用户进行编辑后消失。我在 Page1ViewController 内部使用这样的代码来做到这一点:

当模态视图控制器消失时,我希望“第 1 页”上的值根据用户在模态视图控制器中输入的内容进行更改。所以,我写了一些这样的代码,它驻留在模态视图控制器中:

没有更新到第 1 页,我花了很长时间才意识到“doSomethingPleaseWithSomeData”消息没有发送到 Page1ViewController,而是导航控制器。

使用导航控制器时是否总是可以预料到这一点?我是否可能配置不正确?有没有一种简单的方法可以访问我想要的视图控制器(在本例中为 Page1ViewController)。

0 投票
3 回答
34613 浏览

iphone - 如何在 iphone UIImage 或 UIImageView 中拉伸图像大小

我想在 iPhone 应用程序中显示图像,但我使用的图像太大。我想缩放它以适应 iPhone 屏幕,我找不到任何类来处理它。

0 投票
2 回答
22299 浏览

iphone - 在 iPhone 上切片 UIImage

目标:取一个 UIImage,在中间裁剪一个正方形,将正方形的大小更改为 320x320 像素,将图像切成 16 个 80x80 的图像,将 16 个图像保存在一个数组中。

这是我的代码:

当原始(可变图像)的较小尺寸大于或小于 320 像素时,代码可以正常工作。当它正好是 320 时,生成的 80x80 图像几乎完全是黑色的,有些边缘有几个像素(我无法确定)来自原始图像。

我通过直接显示完整图像进行了测试:

间接地:

在这两种情况下,显示都有效。只有当我尝试切出图像的某些部分时才会出现问题。

0 投票
4 回答
18311 浏览

iphone - 如何使 UITableViewCellAccessoryDisclosureIndicator 在黑色背景中可见?

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

在这个方法中

但是我只能在选择该单元格时才能看到它,否则它是不可见的。当背景为白色时它可以完美地工作。我确定我需要设置一个属性,但我不知道我需要更改哪个属性才能使这个东西工作。

提前致谢。

干杯。

0 投票
4 回答
1566 浏览

iphone - 有时不调用加速度计委托方法

我有一个使用加速度计的应用程序。有时,应用程序将在没有更新加速度计数据的情况下启动。重新启动应用程序,有时问题仍然存在,有时则不会。更奇怪的是,有时我可以尝试 10 次,一切都按预期工作。这是一个错误,还是我缺少的东西。调试,当加速度计未更新时,永远不会调用此代码:

有任何想法吗?

0 投票
1 回答
6541 浏览

iphone - -[UITextField isFirstResponder] 返回 false,即使字段当前正在编辑

在我的视图控制器的-viewDidLoad方法中,我称之为[myTextField becomeFirstResponder]; This works like a charm,打开键盘并且 myTextField 获得焦点。

我有一个带有目标动作的按钮(该动作在同一个控制器中)进行检查[myTextField isFirstReponder]- 但它总是返回 false (呃,NO用 Cocoa 术语;))。

这不是确定myTextField键盘是否可以输入的正确方法吗?

0 投票
2 回答
4388 浏览

iphone - 如何使用导航控制器对 UIViewControllers 进行内存管理?

所以,是的,我是这个疯狂的 iPhone 世界中的 Java 人。当谈到内存管理时,我仍然对自己在做什么不是很清楚。

我有一个使用导航控制器的应用程序,当该进入下一个视图时,我的代码如下所示:

现在根据Apple关于内存管理的基本规则

如果您使用名称以“alloc”或“new”开头或包含“copy”(例如,、、或)的方法创建对象,或者向其发送消息,则您将获得alloc对象newObjectmutableCopy所有权retainrelease您有责任使用或放弃您拥有的对象的所有权autorelease。任何其他时间您收到一个对象,您都不能释放它。

对我来说,这意味着我应该发布myController,或者给它一个autorelease信息。但是,每当我尝试这样做时,我的应用程序都会在我从堆栈中推送和弹出视图时崩溃。

这对我来说并不合适,但在运行 Instruments 时,它声称我没有任何内存泄漏。

所以我的问题是

  1. 我这样做对吗?
  2. 导航控制器是否获得了 MyViewController 的所有权,解释了没有内存泄漏?
  3. 我应该将 myController 分配给我的根 ViewController 中的实例变量吗?在这种情况下,它将被标记为保留,我将在根的 dealloc 方法中释放
0 投票
5 回答
13807 浏览

iphone - 在 iPhone 应用程序中将日期持久化到 SQLite3

我正在开发一个将数据保存到 SQLite3 数据库的 iPhone 应用程序。

对于我坚持的每一行,我希望包括一个“创建日期”和一个“最后修改日期”

我的问题是将这些信息存储在表格中的推荐方法是什么?

这些属性在我的应用程序中表示为 NSDate,但我不确定如何在我的表中表示此信息。

似乎 SQLite3 提供了 DATETIME 类型,但对如何解析此信息没有本机理解。

任何帮助将非常感激。

提前致谢。