- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 UITableView 显示从云代码函数返回的 JSON 信息。出于某种原因,它正确显示了退回商品的标题,但我无法将价格显示为每个单元格的副标题。将样式设置为 UITableViewCellStyleSubtitle
似乎不起作用,并给我一条警告,说明 从枚举类型“enum UITableviewCellStyle”到不同枚举类型的隐式转换
。
MatchCenterViewController.h:
#import <UIKit/UIKit.h>
#import <Parse/Parse.h>
#import "AsyncImageView.h"
#import "SearchViewController.h"
@interface MatchCenterViewController : UIViewController <UITableViewDataSource>
@property (nonatomic) IBOutlet NSString *itemSearch;
@property (nonatomic, strong) NSArray *imageURLs;
@property (strong, nonatomic) NSString *matchingCategoryCondition;
@property (strong, nonatomic) NSString *matchingCategoryLocation;
@property (strong, nonatomic) NSNumber *matchingCategoryMaxPrice;
@property (strong, nonatomic) NSNumber *matchingCategoryMinPrice;
@property (strong, nonatomic) NSArray *matchCenterArray;
@end
MatchCenterViewController.m:
#import "MatchCenterViewController.h"
#import <UIKit/UIKit.h>
@interface MatchCenterViewController () <UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UITableView *matchCenter;
@end
@implementation MatchCenterViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// self.matchCenter = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
// _matchCenter.dataSource = self;
// _matchCenter.delegate = self;
// [self.view addSubview:self.matchCenter];
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
self.matchCenter = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewCellStyleSubtitle];
self.matchCenter.frame = CGRectMake(0,50,320,self.view.frame.size.height-200);
_matchCenter.dataSource = self;
_matchCenter.delegate = self;
[self.view addSubview:self.matchCenter];
self.matchCenterArray = [[NSArray alloc] init];
}
- (void)viewDidAppear:(BOOL)animated
{
self.matchCenterArray = [[NSArray alloc] init];
[PFCloud callFunctionInBackground:@"MatchCenterTest"
withParameters:@{
@"test": @"Hi",
}
block:^(NSDictionary *result, NSError *error) {
if (!error) {
self.matchCenterArray = [result objectForKey:@"Top 3"];
dispatch_async(dispatch_get_main_queue(), ^{
[_matchCenter reloadData];
});
NSLog(@"Test Result: '%@'", result);
}
}];
[self.matchCenter registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [self.matchCenterArray count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSDictionary *matchCenterDictionary= [self.matchCenterArray objectAtIndex:indexPath.row];
cell.textLabel.text = [matchCenterDictionary objectForKey:@"Title"];// title of the item
cell.detailTextLabel.text = [matchCenterDictionary objectForKey:@"Price"];// price of the item
return cell;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
最佳答案
您注册的单元格是默认样式的 UITableViewCell,它没有子标题。单元格的样式一旦创建就无法更改。
你基本上有两个选择:
创建一个使用 UITableViewCellStyleSubtitle(或您选择的任何其他样式)的简单 UITableViewCell 子类
@interface MyTableViewCell : UITableViewCell
@end
@implementation MyTableViewCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
// overwrite style
self = [super initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:reuseIdentifier];
return self;
}
@end
...
[self.matchCenter registerClass:[MyTableViewCell class] forCellReuseIdentifier:@"Cell"];
或者返回到旧式出列技术,如果没有出列则创建一个单元格
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (!cell) {
// if no cell could be dequeued create a new one
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
/* configure */
}
如果这样做,您必须删除 registerClass:forCellReuseIdentifier:
调用。
我会选择选项一,因为很可能很快您就会发现内置单元格非常有限并且您想添加自己的 View (例如标签、 ImageView )。如果您使用子类,您可以使用属性来访问这些 View ,而不必使用标签之类的技巧来访问它们。
关于ios - UITableViewCell 副标题不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131805/
我有一个很长的表格,我需要让副标题随着表格的一部分滚动。我知道有很多函数可以滚动 ,但在让其他行也滚动时,我有点迷茫。基本上,这是表的结构。
我在 3x3 网格中有一系列 9 个子图,每个子图都有一个标题。我想为每一行添加一个标题。为此,我考虑使用字幕。问题是,如果我使用 3 个字幕,它们似乎被覆盖了,似乎只显示了最后一个。 这是我的基本代
我创建了很多图钉,当我按下图钉时,标题必须显示,而副标题必须隐藏,因为它是一段很长的文本并且出现在 UItextView 中。问题是我没有找到隐藏字幕的方法,所以在标题下,我有一段很长的文字,结尾是:
是否可以像普通工具栏一样为 CollapsingToolbarLayout 设置副标题?据我所知,没有以编程方式执行此操作的方法。另外,如何将白色返回箭头设置为工具栏?使用 getSupportAct
我可以设置CollapsingToolbarLayout 的标题吗?通过setTitle方法? 还有设置字幕的方法吗? 最佳答案 如果您希望字幕在 AppBar 完全折叠时转到 Toolbar,您应该
我有一个数据框列表,我用它来制作 ggplot 列表s,然后用 cowplot 组装成一个图网格。 。然后我需要附加共享标题、副标题和说明文字。我希望这些标签具有相同的主题元素(大小、字体等),就像它
我正在尝试使用字幕样式在单元格的标题中获取两个文本。我试过 "cell.textLabel!.text = data.valueForKeyPath("divelocation, divenumber
使用 Xcode 4.6,我试图显示一个典型的 UITableView,其单元格带有字幕。 如果我没记错的话,代码是这样的: - (UITableViewCell *)tableView:(UITab
我创建了一个自定义注释来显示我的数据。数据来自移动的车辆,我必须更新它们在 map 上的位置及其标题(它显示最后更新时间)。 我的第一个方法是简单地删除所有注释并重新创建它们。然而,这会导致大量可怕的
我正在尝试在 Objective-C 中制作电话簿之类的应用程序。我使用 NSDictionary 来填充我的 UITableViewCell。我得到了正确的标题、索引和章节,但是我无法为每个标题获得
我正在将注释加载到我的 map View 上。加载 map 时,注释显示为图钉。 但是,标题和副标题不会自动出现在图钉上。目前,用户需要在标题显示之前点击图钉。 有没有办法让标题在加载 map 时自动
我正在为一个项目使用 Chart.js ( http://www.chartjs.org/ )。 有人知道如何在实际 Canvas 上绘制新内容,例如标题或添加自定义图像,向图表添加“边距”吗? 最佳
我想这样做,但使用折叠工具栏布局或在滚动后在工具栏中显示 Logo 和标题。
我正在开发适用于 Android 的 Chromecast 应用程序,并尝试让 WebVTT 字幕/副标题正常工作。 我按如下方式实例化一个 MediaTrack 对象: Me
我正在解析一些带有一些兴趣点的数据,并尝试使用 MapKit 框架在 map 上显示它们。我为 map 上的对象创建了一个自定义类,我称之为 MyLocation。 MyLocation.h: #im
我正在研究 Using Text Kit to Manage Text in Your iOS Apps教程。它是为 Objective C 编写的,但我想无论如何我都会尝试使用 Swift 来完成它
在Android Support Design Library发布后,想实现一个类似Twitter Profile页面的效果,其中Toolbar的title 和 subtitle 可以随着屏幕垂直滚动
我的代码执行两列,如下所示: 邻里1 餐厅1 邻里1 餐厅2 邻里1 餐厅3 我想要: 邻里1 餐厅1 餐厅2 餐厅3 $result = mysql_query("SELECT ID,RName,
在最新的 Apple Music (iOS 13) 中,“为你”选项卡将当前日期作为位于 View 标题(名为“为你”)上方的“副标题”。如何在 SwiftUI 中实现这样的字幕? 我似乎找不到允许字
我一直在无休止地寻找一种可以在保持结构的同时从 PDF 中提取文本的工具。也就是说,给定这样的文本: 标题 副标题1 正文1 副标题2 正文2 或 标题 副标题 1。正文1 副标题2。正文2 我想要一
我是一名优秀的程序员,十分优秀!