首先,任何拥有 1500 声望的人都可以为 UITableViewRowAction 创建一个新标签
我没有那个特权。
使用 xcode 6.1 版
我目前正在使用 Apple 新引入的 UITableViewCells 编辑操作,如下所示:
-(NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewRowAction *deleteButton = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath)
{
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
[context deleteObject:[self.fetchedResultsController objectAtIndexPath:indexPath]];
}];
deleteButton.backgroundColor = [UIColor redColor];
UITableViewRowAction *saveButton = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@" Save " handler:^(UITableViewRowAction *action, NSIndexPath *indexPath)
{
[self moreActions:self];
}];
saveButton.backgroundColor = [UIColor colorWithRed:0.188 green:0.514 blue:0.984 alpha:1];
return @[deleteButton, saveButton];
}
但是,按钮标题或至少从我的研究中没有字体属性。
Documentation & API Reference 指出唯一可配置的选项是样式、标题 (NSString)、backgroundColor 或 backgroundEffect。
我已经能够通过下面的示例以编程方式更改其他类,但 UITableViewRowActions 没有结果:
[[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
nil]
forState:UIControlStateNormal];
我在整个应用程序中使用自定义字体,保持流动性会很好。我意识到还有其他选项和框架提供可滑动的 tableView 内容,但是,iOS 8 让这很容易实现,我为什么不呢?
有没有发现修复的好眼睛?或者它是否适合通过 App Store 指南?