uitableviewcellフォントサイズは変更されていません
-
10-10-2019 - |
質問
uitableviewcellのフォントサイズを小さくしようとしています。これが私が持っているコードです:
- (UITableViewCell *)tableView:(UITableView *)theTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString* CellIdentifier = @"Cell";
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier: CellIdentifier];
UILabel *nameLabel;
UISwitch *mySwitch;
if ( cell == nil )
{
cell = [[[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault
reuseIdentifier: CellIdentifier] autorelease];
nameLabel = [[[UILabel alloc] initWithFrame:CGRectMake( 220, 13, 100, 20 )] autorelease];
nameLabel.tag = 22;
nameLabel.font = [UIFont boldSystemFontOfSize: 5.0];
nameLabel.textColor = [UIColor blueColor];
nameLabel.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleHeight;
nameLabel.backgroundColor = [UIColor clearColor];
[cell.contentView addSubview: nameLabel];
mySwitch = [[[UISwitch alloc] initWithFrame:CGRectZero] autorelease];
mySwitch.tag = ((400*(indexPath.section+1))+indexPath.row);
[mySwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
[cell addSubview:mySwitch];
cell.accessoryView = mySwitch;
}
else {
nameLabel = (UILabel*)[cell.contentView viewWithTag: 22];
mySwitch = (UISwitch *)[cell.contentView viewWithTag:((400*(indexPath.section+1))+indexPath.row)];
}
nameLabel.textLabel.text = @"Hello";
}
しかし、ラベルのフォントは確かにサイズ5に出てくるわけではありません。通常のフォントと通常のサイズ、おそらくフォントサイズ12、またはデフォルトのものが何であれ。フォントサイズを変更できないのはなぜですか?
解決
これを試して
それ以外の nameLabel.textLabel.text = @"Hello";
使用する
nameLabel.text = @"Hello";
他のヒント
問題とは関係ありませんが、スイッチをサブビューとして追加する必要はありません。アクセサリビューを設定すると、セルに追加して保持する必要があります。
[cell addSubview:mySwitch];
cell.accessoryView = mySwitch;
...ただ...
[cell setAccessoryView:mySwitch];
所属していません StackOverflow