小编sia*_*asl的帖子

UIButton标题和图像对齐查询

我有一个UIButton,我正在尝试设置标题和图像.

我想将a的标题UIButton与左侧对齐,并将图像对齐到右侧.我试图在Timer in Clocks应用程序中显示按钮的外观和感觉(显示"当计时器结束时").

我摆弄contentHorizontalAlignment,contentEdgeInsets,titleEdgeInsetsimageEdgeInsets达到我的目标,但无济于事.同样的文档也很稀疏.

我怎样才能实现同样的目标?

还有相关问题,Timer in Clocks应用程序有两组文本,一组与左侧对齐,另一组与图像对齐?怎么能在一个UIButton?(我现在不需要那个功能).

iphone cocoa-touch uibutton

28
推荐指数
4
解决办法
5万
查看次数

带有CoreData的嵌套撤消组

我想在一个coredata支持的iphone应用程序中添加一个撤消管理器.当用户尝试添加新对象时(通过点击+按钮),我加载一个新的模态视图控制器并在viewDidLoad中启动一个新的撤消组.

当用户按下取消按钮时,我想回滚cancelAction回调中的更改.

查询:

  1. 是否可以启动嵌套的撤消组并通过事件循环将其保留并整理在一个撤消组中完成的所有更改?现在,当我在cancelAction中调用beginUndoGrouping时,我得到一个缺少的beginUndoGrouping异常.
  2. groupsByEvent API对NSUndoManager的意义是什么?我是否需要将其设置为NO才能通过事件循环保留撤消组?
  3. 在saveAction回调中需要做什么才能永久更改(除了在mangedObjectContext上调用save)?如何告知撤消管理器停止跟踪更改?

错误信息:

*由于未捕获的异常'NSInternalInconsistencyException'终止应用程序,原因:'_endUndoGroupRemovingIfEmpty :: NSUndoManager 0x75415f0处于无效状态,调用endUndoGrouping时没有匹配的开始

示例代码:

// RootViewController.m
- (void) addAction {
   // Load Modal View Controller to add new object

}

// AddViewController.m
- (void) viewDidLoad {
   // Start nested undo group
   [self.managedObjectContext processPendingChanges];
   [self.managedObjectContext.undoManager beginUndoGrouping];

   [self createModel];

}

- (void) cancelAction {
    // Revert all changes
    [self.managedObjectContext processPendingChanges];
    [self.managedObjectContext.undoManager endUndoGrouping];

    [self.managedObjectContext.undoManager undoNestedGroup];

    ...
}

- (void) saveAction {

    // Save changes
}
Run Code Online (Sandbox Code Playgroud)

iphone core-data nsundomanager

6
推荐指数
1
解决办法
2499
查看次数

帮助CoreData查询

我正在寻找在CoreData中编写一些基本查询的方法,文档中没有示例.以下是我的查询:

  1. 我有一个Expense对象,它有一个expenseAmount字段.
  2. 费用可以链接到ExpenseCategory对象.
  3. ExpenseCategory可以仅定义费用的类别(例如食品),或者可以具有单位费率(例如,里程).如果它只是名称,则费用值是Expense对象中的expenseAmount,否则它是ExpenseCategory中的expenseAmount*unitRate.
  4. 由于费用到类别链接是可选的,因此最终费用将基于类别的存在/不存在和单位费率.

因此,计算总费用的SQL查询将是:

select
    TOTAL(e.amount * IFNULL(c.rate, 1))
from EXPENSE e
LEFT OUTER join CATEGORY c on
    e.category = c.id
Run Code Online (Sandbox Code Playgroud)

如何在CoreData中完成?

iphone core-data

5
推荐指数
1
解决办法
805
查看次数

核心数据:如何检查多对多关系的存在

我有一个"歌曲"实体和一个"标签"实体,它们之间有很多关系.歌曲可以有多个标签,标签可以应用于多首歌曲.

我想检查一首歌是否有与之关联的特定标签.如果歌曲中有与之关联的标签,我想在表格视图中显示一个复选标记.

对于类似的逻辑,在Apple"TaggedLocations"示例代码中,进行以下检查以检查是否存在关系.

if ([event.tags containsObject:tag]) {
    cell.accessoryType = UITableViewCellAccessoryCheckmark;
}   
Run Code Online (Sandbox Code Playgroud)

如果数据库中有很多标签,这可能效率很低,因为这将在内存中获取所有标签.如果我错了,请纠正我.

有没有更有效的方法来检查歌曲是否与特定标签相关联,而不是检查Song.Tags?

iphone core-data

2
推荐指数
1
解决办法
2475
查看次数

与UIFont和UIColor相关的新手问题

我有几个与UIColor和UIFont有关的问题.

  1. 我想知道如果我在启动时分配一堆UIFonts和UIColors,那么它在系统上有多重,我需要在应用程序运行期间.

  2. 在运行时创建UIFont和UIColor是否昂贵?如果我预先分配相同的内容,它会以任何方式提高性能.

iphone cocoa-touch

1
推荐指数
1
解决办法
594
查看次数

标签 统计

iphone ×5

core-data ×3

cocoa-touch ×2

nsundomanager ×1

uibutton ×1