質問

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];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top